]> git.ipfire.org Git - pakfire.git/commitdiff
arch: Use buildtarget to make machine and append "-gnu"
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 18 May 2021 15:24:09 +0000 (15:24 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 18 May 2021 15:24:09 +0000 (15:24 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/arch.c

index e39650566ab63e269faf410e5b941ab19624d4bf..39a52259088e68d83ba61872b99fa386797997b6 100644 (file)
@@ -149,6 +149,25 @@ unsigned long pakfire_arch_personality(const char* name) {
 }
 
 int __pakfire_arch_machine(char* buffer, size_t length, const char* arch, const char* vendor) {
+       int r = __pakfire_arch_buildtarget(buffer, length, arch, vendor);
+       if (r < 0)
+               return r;
+
+       size_t bytes_written = strlen(buffer);
+
+       // Fail if there is no space left
+       if (bytes_written >= length)
+               return -1;
+
+       // Append -gnu
+       r = snprintf(buffer + bytes_written, length - bytes_written, "-gnu");
+       if (r < 0)
+               return r;
+
+       return 0;
+}
+
+int __pakfire_arch_buildtarget(char* buffer, size_t length, const char* arch, const char* vendor) {
        if (!vendor)
                vendor = "unknown";
 
@@ -165,23 +184,7 @@ int __pakfire_arch_machine(char* buffer, size_t length, const char* arch, const
                *space = '\0';
 
        // Format string
-       int r = snprintf(buffer, length, "%s-%s-linux-gnu", arch, suffix);
-       if (r < 0)
-               return r;
-
-       // Make everything lowercase
-       for (unsigned int i = 0; i <= (unsigned int)r; i++)
-               buffer[i] = tolower(buffer[i]);
-
-       return 0;
-}
-
-int __pakfire_arch_buildtarget(char* buffer, size_t length, const char* arch, const char* vendor) {
-       if (!vendor)
-               vendor = "unknown";
-
-       // Format string
-       int r = snprintf(buffer, length, "%s-%s-linux", arch, vendor);
+       int r = snprintf(buffer, length, "%s-%s-linux", arch, suffix);
        if (r < 0)
                return r;