ref: cd230a1b17495d478d359e5806972e72bc4b8b27
parent: a7ff734d7f982d0be0403e8e9c3a6aa8fd4e3ae1
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Fri Jan 31 11:12:16 EST 2025
posix: fix os version truncation warning
--- a/src/posix/platform.h
+++ b/src/posix/platform.h
@@ -49,8 +49,8 @@
#define __os_name__ "unknown"
#endif
-extern char __os_version__[];
-#define __os_version__ __os_version__
+extern char *os_version;
+#define __os_version__ os_version
#ifndef __SIZEOF_POINTER__
#error pointer size unknown
--- a/src/posix/sys.c
+++ b/src/posix/sys.c
@@ -72,7 +72,7 @@
#include "flisp.boot.h"
};
-char __os_version__[64];
+char *os_version;
#include <sys/utsname.h>
int
@@ -81,8 +81,6 @@
setlocale(LC_NUMERIC, "C");
setlocale(LC_CTYPE, "");
struct utsname u;
- __os_version__[0] = 0;
- if(uname(&u) == 0)
- snprintf(__os_version__, sizeof(__os_version__), "%s", u.release);
+ os_version = strdup(uname(&u) == 0 ? u.release : "");
flmain(boot, sizeof(boot), argc, argv);
}