1 |
diff -urNp coreutils-8.2-orig/src/uname.c coreutils-8.2/src/uname.c |
2 |
--- coreutils-8.2-orig/src/uname.c 2009-09-23 10:25:44.000000000 +0200 |
3 |
+++ coreutils-8.2/src/uname.c 2009-12-19 09:09:11.663607110 +0100 |
4 |
@@ -301,7 +301,7 @@ main (int argc, char **argv) |
5 |
|
6 |
if (toprint & PRINT_PROCESSOR) |
7 |
{ |
8 |
- char const *element = unknown; |
9 |
+ char *element = unknown; |
10 |
#if HAVE_SYSINFO && defined SI_ARCHITECTURE |
11 |
{ |
12 |
static char processor[257]; |
13 |
@@ -308,6 +308,12 @@ main (int argc, char **argv) |
14 |
if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor)) |
15 |
element = processor; |
16 |
} |
17 |
+#else |
18 |
+ { |
19 |
+ struct utsname u; |
20 |
+ uname(&u); |
21 |
+ element = u.machine; |
22 |
+ } |
23 |
#endif |
24 |
#ifdef UNAME_PROCESSOR |
25 |
if (element == unknown) |
26 |
@@ -351,7 +357,7 @@ main (int argc, char **argv) |
27 |
|
28 |
if (toprint & PRINT_HARDWARE_PLATFORM) |
29 |
{ |
30 |
- char const *element = unknown; |
31 |
+ char *element = unknown; |
32 |
#if HAVE_SYSINFO && defined SI_PLATFORM |
33 |
{ |
34 |
static char hardware_platform[257]; |
35 |
@@ -353,6 +359,14 @@ main (int argc, char **argv) |
36 |
hardware_platform, sizeof hardware_platform)) |
37 |
element = hardware_platform; |
38 |
} |
39 |
+#else |
40 |
+ { |
41 |
+ struct utsname u; |
42 |
+ uname(&u); |
43 |
+ element = u.machine; |
44 |
+ if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6') |
45 |
+ element[1]='3'; |
46 |
+ } |
47 |
#endif |
48 |
#ifdef UNAME_HARDWARE_PLATFORM |
49 |
if (element == unknown) |