-#define SHOW(l1, l2) { \
- name[0] = l1; \
- name[1] = l2; \
- len = sizeof(buf); \
- if (sysctl(name, 2, &buf, &len, NULL, 0) == -1) \
- err(1, "sysctl"); \
- (void)printf("%s%.*s", prefix, len, buf); \
- prefix = " "; \
-}
- if (flags & SFLAG)
- SHOW(CTL_KERN, KERN_OSTYPE);
- if (flags & NFLAG)
- SHOW(CTL_KERN, KERN_HOSTNAME);
- if (flags & RFLAG)
- SHOW(CTL_KERN, KERN_OSRELEASE);
- if (flags & VFLAG)
- SHOW(CTL_KERN, KERN_OSREV);
- if (flags & MFLAG)
- SHOW(CTL_HW, HW_MACHINE);
-
+ if (flags & SFLAG) {
+ name[0] = CTL_KERN;
+ name[1] = KERN_OSTYPE;
+ len = sizeof(buf);
+ if (sysctl(name, 2, &buf, &len, NULL, 0) == -1)
+ err(1, "sysctl");
+ (void)printf("%s%.*s", prefix, len, buf);
+ prefix = " ";
+ }
+ if (flags & NFLAG) {
+ name[0] = CTL_KERN;
+ name[1] = KERN_HOSTNAME;
+ len = sizeof(buf);
+ if (sysctl(name, 2, &buf, &len, NULL, 0) == -1)
+ err(1, "sysctl");
+ (void)printf("%s%.*s", prefix, len, buf);
+ prefix = " ";
+ }
+ if (flags & RFLAG) {
+ name[0] = CTL_KERN;
+ name[1] = KERN_OSRELEASE;
+ len = sizeof(buf);
+ if (sysctl(name, 2, &buf, &len, NULL, 0) == -1)
+ err(1, "sysctl");
+ (void)printf("%s%.*s", prefix, len, buf);
+ prefix = " ";
+ }
+ if (flags & VFLAG) {
+ name[0] = CTL_KERN;
+ name[1] = KERN_VERSION;
+ len = sizeof(buf);
+ if (sysctl(name, 2, &buf, &len, NULL, 0) == -1)
+ err(1, "sysctl");
+ for (p = buf, tlen = len; tlen--; ++p)
+ if (*p == '\n' || *p == '\t')
+ *p = ' ';
+ (void)printf("%s%.*s", prefix, len, buf);
+ prefix = " ";
+ }
+ if (flags & MFLAG) {
+ name[0] = CTL_HW;
+ name[1] = HW_MACHINE;
+ len = sizeof(buf);
+ if (sysctl(name, 2, &buf, &len, NULL, 0) == -1)
+ err(1, "sysctl");
+ (void)printf("%s%.*s", prefix, len, buf);
+ prefix = " ";
+ }