summaryrefslogtreecommitdiff
path: root/lib9p/core_gen/h.py
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-04-19 12:53:51 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-04-19 12:53:51 -0600
commit59e1fc370371c8da876d6c2ce68794bb7f89e525 (patch)
tree8037e1493bfebe72cb6023f5eccb62cff0c63349 /lib9p/core_gen/h.py
parent0cf05b66f94bfe02ecca37a4cbafba25b27c32ae (diff)
parent7f34046f5b27617b70c1d55f479c2a1abb8b8d8a (diff)
Merge branch 'lukeshu/9p-tidy'
Diffstat (limited to 'lib9p/core_gen/h.py')
-rw-r--r--lib9p/core_gen/h.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib9p/core_gen/h.py b/lib9p/core_gen/h.py
index 3defcb8..ff070c6 100644
--- a/lib9p/core_gen/h.py
+++ b/lib9p/core_gen/h.py
@@ -192,14 +192,21 @@ def gen_h(versions: set[str], typs: list[idl.UserType]) -> str:
ret += "\t#endif\n"
ret += "#endif\n"
+ # SPECIAL (convenience)
+ ret += "\n"
+ ret += f"#define _LIB9P_ENABLE_stat {c9util.ver_ifdef(next(typ for typ in typs if typ.typname == 'stat').in_versions)}\n"
+
ret += f"""
/* enum version ***************************************************************/
enum {c9util.ident('version')} {{
"""
- fullversions = ["unknown = 0", *sorted(versions)]
- verwidth = max(len(v) for v in fullversions)
- for ver in fullversions:
+ xversions = [
+ "unknown = 0",
+ *sorted(v for v in versions if v != "unknown"),
+ ] # SPECIAL (initialization)
+ verwidth = max(len(v) for v in xversions)
+ for ver in xversions:
if ver in versions:
ret += cutil.ifdef_push(1, c9util.ver_ifdef({ver}))
ret += f"\t{c9util.ver_enum(ver)},"