make-event-names.py should take the files as argument
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 23 Oct 2019 03:13:50 +0000 (03:13 +0000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 23 Oct 2019 03:13:50 +0000 (03:13 +0000)
Don't rely on cat, just let our script read everything as required.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
configure.ac
libevdev/Makefile.am
libevdev/make-event-names.py

index 6784989..b284acb 100644 (file)
@@ -127,7 +127,6 @@ AC_SUBST([GCOV_LDFLAGS])
 AC_MSG_RESULT([$enable_gcov])
 
 AM_PATH_PYTHON([2.6])
-AC_PATH_PROG(CAT, [cat])
 
 # nm to check for leaking symbols in the static library
 AC_PATH_PROG(NM, [nm])
index fcb434d..f2757de 100644 (file)
@@ -28,7 +28,7 @@ libevdevincludedir = $(includedir)/libevdev-1.0/libevdev
 libevdevinclude_HEADERS = libevdev.h libevdev-uinput.h
 
 event-names.h: Makefile make-event-names.py
-       $(CAT) $(top_srcdir)/include/linux/input.h $(top_srcdir)/include/linux/input-event-codes.h | $(PYTHON) $(srcdir)/make-event-names.py  > $@
+       $(PYTHON) $(srcdir)/make-event-names.py $(top_srcdir)/include/linux/input.h $(top_srcdir)/include/linux/input-event-codes.h  > $@
 
 
 EXTRA_DIST = make-event-names.py libevdev.sym
index 716c1d7..820eb5e 100755 (executable)
@@ -195,10 +195,8 @@ def parse_define(bits, line):
                b = getattr(bits, attrname)
                b[value] = name
 
-def parse(fp):
+def parse(lines):
        bits = Bits()
-
-       lines = fp.readlines()
        for line in lines:
                if not line.startswith("#define"):
                        continue
@@ -207,12 +205,14 @@ def parse(fp):
        return bits
 
 def usage(prog):
-       print("Usage: cat <files> | %s" % prog)
+       print("Usage: %s <files>".format(prog))
 
 if __name__ == "__main__":
-       if len(sys.argv) != 1:
+       if len(sys.argv) <= 1:
                usage(sys.argv[0])
                sys.exit(2)
 
-       bits = parse(sys.stdin)
+       from itertools import chain
+       lines = chain(*[open(f).readlines() for f in sys.argv[1:]])
+       bits = parse(lines)
        print_mapping_table(bits)