diff options
Diffstat (limited to '9p/linux-errno.h.gen')
-rwxr-xr-x | 9p/linux-errno.h.gen | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/9p/linux-errno.h.gen b/9p/linux-errno.h.gen index 749cd8e..b896384 100755 --- a/9p/linux-errno.h.gen +++ b/9p/linux-errno.h.gen @@ -3,26 +3,27 @@ def print_errnos(txtlists: list[str]) -> None: print( - f"/* Generated by `./9p/linux-errno.h.gen {' '.join(txtlists)}`. DO NOT EDIT! */" + f"/* 9p/linux-errno.h - Generated by `./9p/linux-errno.h.gen {' '.join(txtlists)}`. DO NOT EDIT! */" ) - errnos: dict[str, int] = {} + errnos: dict[str, tuple[int, str]] = {} for txtlist in sys.argv[1:]: with open(txtlist, "r") as fh: for line in fh: if line.startswith("#"): print(f"/* {line[1:].strip()} */") continue - _num, name = line.split(maxsplit=1) + _num, name, desc = line.split(maxsplit=2) num = int(_num) - name = name.strip() - errnos[name] = int(num) - namelen = max(len(name) for name in errnos.keys()) + desc = desc.strip() + errnos[name] = (num, desc) print() print("#ifndef _9P_LINUX_ERRNO_H_") print("#define _9P_LINUX_ERRNO_H_") print() + namelen = max(len(name) for name in errnos.keys()) + numlen = max(len(str(num)) for (num, desc) in errnos.values()) for name in errnos: - print(f"#define LINUX_{name.ljust(namelen)} {errnos[name]}") + print(f"#define LINUX_{name.ljust(namelen)} {str(errnos[name][0]).rjust(numlen)} /* {errnos[name][1]} */") print() print("#endif /* _9P_LINUX_ERRNO_H_ */") |