src/uname.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/uname.c b/src/uname.c index 6371ca2..1ad8fd7 100644 --- a/src/uname.c +++ b/src/uname.c @@ -322,6 +322,12 @@ main (int argc, char **argv) # elif defined __ppc__ || defined __ppc64__ element = "powerpc"; # endif +#else + { + static struct utsname u; + uname(&u); + element = u.machine; + } #endif #if HAVE_SYSINFO && defined SI_ARCHITECTURE if (element == unknown) @@ -347,7 +353,7 @@ main (int argc, char **argv) if (toprint & PRINT_HARDWARE_PLATFORM) { - char const *element = unknown; + char *element = unknown; #if HAVE_SYSINFO && defined SI_PLATFORM { static char hardware_platform[257]; @@ -355,6 +361,14 @@ main (int argc, char **argv) hardware_platform, sizeof hardware_platform)) element = hardware_platform; } +#else + { + static struct utsname u; + uname(&u); + element = u.machine; + if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6') + element[1]='3'; + } #endif #ifdef UNAME_HARDWARE_PLATFORM if (element == unknown)