]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hwdb: quote invalid patterns in error messages 40587/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Fri, 6 Feb 2026 14:28:48 +0000 (15:28 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@amutable.com>
Mon, 9 Feb 2026 10:01:31 +0000 (11:01 +0100)
If the pattern is invalid, we don't quite know how it looks, so it's
safer to quote it.

Also simplify the call to sorted().

hwdb.d/parse_hwdb.py

index f5b63b7d34b20d00a47e80bd14f2262f67b6da9c..87a2316c464ddd368151034da1bf120827fd77a6 100755 (executable)
@@ -266,12 +266,12 @@ def check_matches(groups):
         if gr:
             # we check this first to provide an easy error message
             if rest[-1] not in '*:':
-                error('Pattern {} does not end with "*" or ":"', match)
+                error('Pattern {!r} does not end with "*" or ":"', match)
 
             try:
                 gr.parseString(rest)
             except ParseBaseException as e:
-                error('Pattern {} is invalid: {}', match, e)
+                error('Pattern {!r} is invalid: {}', match, e)
                 continue
 
     matches.sort()
@@ -353,12 +353,11 @@ def print_summary(fname, groups):
         error(f'{fname}: no matches or props')
 
 if __name__ == '__main__':
-    args = sys.argv[1:] or sorted(
-        [
-            os.path.dirname(sys.argv[0]) + '/20-dmi-id.hwdb',
-            os.path.dirname(sys.argv[0]) + '/20-net-ifname.hwdb',
-        ] + glob.glob(os.path.dirname(sys.argv[0]) + '/[678][0-9]-*.hwdb')
-    )
+    args = sys.argv[1:] or sorted([
+        os.path.dirname(sys.argv[0]) + '/20-dmi-id.hwdb',
+        os.path.dirname(sys.argv[0]) + '/20-net-ifname.hwdb',
+        *glob.glob(os.path.dirname(sys.argv[0]) + '/[678][0-9]-*.hwdb'),
+    ])
 
     for fname in args:
         groups = parse(fname)