]> git.ipfire.org Git - pakfire.git/commitdiff
arch: Don't use TLS to store the utsname struct
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 20:57:54 +0000 (20:57 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 22 Feb 2025 20:57:54 +0000 (20:57 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/arch.c

index ef7ba083469c16d9f9129401625a3e4af391528d..02923876b3accc5ef3b93b221bfb0c31fe4ec25c 100644 (file)
@@ -177,18 +177,14 @@ int __pakfire_arch_buildtarget(char* buffer, size_t length, const char* arch, co
 }
 
 const char* pakfire_arch_native(void) {
-       struct utsname buf;
+       static struct utsname utsname = {};
 
-       static __thread const char* arch_native = NULL;
-
-       if (!arch_native) {
-               if (uname(&buf) < 0)
+       if (!*utsname.machine) {
+               if (uname(&utsname) < 0)
                        return NULL;
-
-               arch_native = strdup(buf.machine);
        }
 
-       return arch_native;
+       return utsname.machine;
 }
 
 int pakfire_arch_is_compatible(const char* name, const char* compatible_arch) {