diff options
author | Manuel Novoa III <mjn3@codepoet.org> | 2002-03-25 05:37:20 +0300 |
---|---|---|
committer | Manuel Novoa III <mjn3@codepoet.org> | 2002-03-25 05:37:20 +0300 |
commit | fa15f702d2e4c7d377d6cf89e950227405622f1b (patch) | |
tree | 3dc3c890ed2bc1b14143272e556320fdeb56e091 /coreutils/uname.c | |
parent | ef8b112d77c3a05f17fa108d93d44d9a66902853 (diff) |
Work around compiler/assembler problem and reduce code size at the same time.
Diffstat (limited to 'coreutils/uname.c')
-rw-r--r-- | coreutils/uname.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/coreutils/uname.c b/coreutils/uname.c index b45f4d156..df4f14ea0 100644 --- a/coreutils/uname.c +++ b/coreutils/uname.c @@ -87,7 +87,7 @@ int uname_main(int argc, char **argv) } #if defined(__sparc__) && defined(__linux__) - if ((fake_sparc != NULL) + if ((fake_sparc != NULL) && ((fake_sparc[0] == 'y') || (fake_sparc[0] == 'Y'))) { strcpy(uname_info.name.machine, "sparc"); @@ -96,11 +96,16 @@ int uname_main(int argc, char **argv) strcpy(uname_info.processor, "unknown"); - for (opt=0,delta=utsname_offset ; toprint ; delta++, toprint >>= 1) { + delta=utsname_offset; + do { if (toprint & 1) { - printf("%s%s", (opt++==0)? "": " ", ((char *)(&uname_info)) + *delta); + printf(((char *)(&uname_info)) + *delta); + if (toprint > 1) { + putchar(' '); + } } - } + ++delta; + } while (toprint >>= 1); putchar('\n'); return EXIT_SUCCESS; |