From: Michael Tremer Date: Thu, 30 Nov 2017 16:08:26 +0000 (+0100) Subject: system: Fix determining architecture X-Git-Tag: 0.9.28~1285^2~1225 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=351a830667856aa6af955f11868de8c28786e05d;p=pakfire.git system: Fix determining architecture Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index fe063b2d5..c23cf0e4f 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -37,14 +37,13 @@ Pakfire pakfire_create(const char* path, const char* arch) { pakfire->nrefs = 1; pakfire->path = pakfire_strdup(path); - if (!arch) { + if (!arch) arch = system_machine(); - } pakfire->arch = pakfire_strdup(arch); DEBUG("Pakfire initialized at %p\n", pakfire); - DEBUG(" arch = %s\n", pakfire->arch); - DEBUG(" path = %s\n", pakfire->path); + DEBUG(" arch = %s\n", pakfire_get_arch(pakfire)); + DEBUG(" path = %s\n", pakfire_get_path(pakfire)); // Initialize the pool pakfire->pool = pakfire_pool_create(pakfire); diff --git a/src/libpakfire/system.c b/src/libpakfire/system.c index cc0b9d2f3..cdbc30fc0 100644 --- a/src/libpakfire/system.c +++ b/src/libpakfire/system.c @@ -26,16 +26,16 @@ #include const char* system_machine() { - static char __system_machine[STRING_SIZE] = ""; + static const char* __system_machine = NULL; - if (!*__system_machine) { + if (!__system_machine) { struct utsname buf; int r = uname(&buf); - if (!r) + if (r) return NULL; - strncpy(__system_machine, buf.machine, sizeof(*__system_machine)); + __system_machine = pakfire_strdup(buf.machine); } return __system_machine;