[BACK]Return to uname.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / gen

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/gen/uname.c between version 1.9 and 1.10

version 1.9, 2003/08/07 16:42:59 version 1.10, 2007/01/15 22:26:35
Line 54  int
Line 54  int
 uname(name)  uname(name)
         struct utsname *name;          struct utsname *name;
 {  {
         int mib[2], rval;          int mib[2];
         size_t len;          size_t len;
         char *p;          char *p;
   
         rval = 0;  
   
         _DIAGASSERT(name != NULL);          _DIAGASSERT(name != NULL);
   
         mib[0] = CTL_KERN;          mib[0] = CTL_KERN;
         mib[1] = KERN_OSTYPE;          mib[1] = KERN_OSTYPE;
         len = sizeof(name->sysname);          len = sizeof(name->sysname);
         if (sysctl(mib, 2, &name->sysname, &len, NULL, 0) == -1)          if (sysctl(mib, 2, &name->sysname, &len, NULL, 0) == -1)
                 rval = -1;                  goto error;
   
         mib[0] = CTL_KERN;          mib[0] = CTL_KERN;
         mib[1] = KERN_HOSTNAME;          mib[1] = KERN_HOSTNAME;
         len = sizeof(name->nodename);          len = sizeof(name->nodename);
         if (sysctl(mib, 2, &name->nodename, &len, NULL, 0) == -1)          if (sysctl(mib, 2, &name->nodename, &len, NULL, 0) == -1)
                 rval = -1;                  goto error;
   
         mib[0] = CTL_KERN;          mib[0] = CTL_KERN;
         mib[1] = KERN_OSRELEASE;          mib[1] = KERN_OSRELEASE;
         len = sizeof(name->release);          len = sizeof(name->release);
         if (sysctl(mib, 2, &name->release, &len, NULL, 0) == -1)          if (sysctl(mib, 2, &name->release, &len, NULL, 0) == -1)
                 rval = -1;                  goto error;
   
         /* The version may have newlines in it, turn them into spaces. */  
         mib[0] = CTL_KERN;          mib[0] = CTL_KERN;
         mib[1] = KERN_VERSION;          mib[1] = KERN_VERSION;
         len = sizeof(name->version);          len = sizeof(name->version);
         if (sysctl(mib, 2, &name->version, &len, NULL, 0) == -1)          if (sysctl(mib, 2, &name->version, &len, NULL, 0) == -1)
                 rval = -1;                  goto error;
         else  
                 for (p = name->version; len--; ++p) {          /* The version may have newlines in it, turn them into spaces. */
                         if (*p == '\n' || *p == '\t') {          for (p = name->version; len--; ++p) {
                                 if (len > 1)                  if (*p == '\n' || *p == '\t') {
                                         *p = ' ';                          if (len > 1)
                                 else                                  *p = ' ';
                                         *p = '\0';                          else
                         }                                  *p = '\0';
                 }                  }
           }
   
         mib[0] = CTL_HW;          mib[0] = CTL_HW;
         mib[1] = HW_MACHINE;          mib[1] = HW_MACHINE;
         len = sizeof(name->machine);          len = sizeof(name->machine);
         if (sysctl(mib, 2, &name->machine, &len, NULL, 0) == -1)          if (sysctl(mib, 2, &name->machine, &len, NULL, 0) == -1)
                 rval = -1;                  goto error;
         return (rval);          return (0);
   
   error:
           return (-1);
 }  }

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

CVSweb <webmaster@jp.NetBSD.org>