From 57ebf3b3238a165c1973ecdf96ba79f95d650fc9 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Thu, 15 Oct 2026 12:29:25 +0300 Subject: Add soversion, version macros, and reserved term_options words The shared library now carries its major version in the SONAME (libterm.so.0), so an ABI break gets a new file name. The header gains TERM_VERSION, TERM_VERSION_MAJOR/MINOR/PATCH and TERM_VERSION_CODE, and term_version() returns the code the library was built with. A test checks the macros against meson.build's project version and against the runtime value. term_options ends with uint32_t reserved[8]. term_new() returns NULL if a word is nonzero, so later versions can give those words a meaning without misreading a caller's leftover data. All-zero options stay valid. Co-Authored-By: Claude Haiku 5.5 --- src/term.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/term.c') diff --git a/src/term.c b/src/term.c index 1b16670..bf8f3cf 100644 --- a/src/term.c +++ b/src/term.c @@ -8,6 +8,11 @@ const char *term_unicode_version(void) return UNICODE_DATA_VERSION; } +unsigned term_version(void) +{ + return TERM_VERSION_CODE; +} + void term_lock(struct term *t) { term_write_begin(t); -- cgit v1.2.3