You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.3 KiB
49 lines
1.3 KiB
diff --git a/src/uname.c b/src/uname.c |
|
index 6371ca2..1ad8fd7 100644 |
|
--- a/src/uname.c |
|
+++ b/src/uname.c |
|
@@ -300,13 +300,19 @@ main (int argc, char **argv) |
|
|
|
if (toprint & PRINT_PROCESSOR) |
|
{ |
|
- char const *element = unknown; |
|
+ char *element = unknown; |
|
#if HAVE_SYSINFO && defined SI_ARCHITECTURE |
|
{ |
|
static char processor[257]; |
|
if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) |
|
element = processor; |
|
} |
|
+#else |
|
+ { |
|
+ static struct utsname u; |
|
+ uname(&u); |
|
+ element = u.machine; |
|
+ } |
|
#endif |
|
#ifdef UNAME_PROCESSOR |
|
if (element == unknown) |
|
@@ -344,7 +350,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]; |
|
@@ -352,6 +358,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)
|
|
|