ref: e330259b2ed4a137c908440c3bc942651304f3fc
parent: 41efd510e5a866a1a87c55f8fb557c9ad2abaecb
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Tue Jan 14 18:58:45 EST 2025
add *os-version* for linux
--- a/posix/platform.h
+++ b/posix/platform.h
@@ -29,6 +29,8 @@
#if defined(__linux__)
#define __os_name__ "linux"
+extern char linux_kernel_version[];
+#define __os_version__ linux_kernel_version
#elif defined(__OpenBSD__)
#define __os_name__ "openbsd"
#elif defined(__FreeBSD__)
--- a/sys_posix.c
+++ b/sys_posix.c
@@ -71,9 +71,20 @@
#include "flisp.boot.h"
};
+#if defined(__linux__)
+char linux_kernel_version[64];
+#include <sys/utsname.h>
+#endif
+
int
main(int argc, char **argv)
{
setlocale(LC_NUMERIC, "C");
+#if defined(__linux__)
+ struct utsname u;
+ linux_kernel_version[0] = 0;
+ if(uname(&u) == 0)
+ snprintf(linux_kernel_version, sizeof(linux_kernel_version), "%s", u.release);
+#endif
flmain(boot, sizeof(boot), argc, argv);
}