=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sendbug/sendbug.c,v retrieving revision 1.13 retrieving revision 1.14 diff -c -r1.13 -r1.14 *** src/usr.bin/sendbug/sendbug.c 2007/03/23 06:16:24 1.13 --- src/usr.bin/sendbug/sendbug.c 2007/03/23 15:46:40 1.14 *************** *** 1,4 **** ! /* $OpenBSD: sendbug.c,v 1.13 2007/03/23 06:16:24 ray Exp $ */ /* * Written by Ray Lai . --- 1,4 ---- ! /* $OpenBSD: sendbug.c,v 1.14 2007/03/23 15:46:40 deraadt Exp $ */ /* * Written by Ray Lai . *************** *** 37,43 **** char *version = "4.2"; struct passwd *pw; ! char os[BUFSIZ], rel[BUFSIZ], mach[BUFSIZ]; char *fullname; char *tmppath; int wantcleanup; --- 37,43 ---- char *version = "4.2"; struct passwd *pw; ! char os[BUFSIZ], rel[BUFSIZ], mach[BUFSIZ], details[BUFSIZ]; char *fullname; char *tmppath; int wantcleanup; *************** *** 246,252 **** size_t len = 0, namelen; int sysname[2]; const char *src; ! char *dst; if ((pw = getpwuid(getuid())) == NULL) { err(1, "getpwuid"); --- 246,252 ---- size_t len = 0, namelen; int sysname[2]; const char *src; ! char *dst, *cp; if ((pw = getpwuid(getuid())) == NULL) { err(1, "getpwuid"); *************** *** 298,303 **** --- 298,321 ---- err(1, "sysctl"); } + sysname[0] = CTL_KERN; + sysname[1] = KERN_VERSION; + len = sizeof(details) - 1; + if (sysctl(sysname, 2, &details, &len, NULL, 0) == -1) { + err(1, "sysctl"); + } + + cp = strchr(details, '\n'); + if (cp) { + cp++; + if (*cp) + *cp++ = '\t'; + if (*cp) + *cp++ = '\t'; + if (*cp) + *cp++ = '\t'; + } + sysname[0] = CTL_HW; sysname[1] = HW_MACHINE; len = sizeof(mach) - 1; *************** *** 326,332 **** blank = 1; /* Skip comments, but only if we encountered a blank line. */ while (len) { ! char *sp, *ep = NULL; size_t copylen; if (blank && (sp = memchr(buf, '<', len)) != NULL) --- 344,350 ---- blank = 1; /* Skip comments, but only if we encountered a blank line. */ while (len) { ! char *sp = NULL, *ep = NULL; size_t copylen; if (blank && (sp = memchr(buf, '<', len)) != NULL) *************** *** 387,392 **** --- 405,411 ---- fprintf(fp, ">Environment:\n"); fprintf(fp, "\t\n"); fprintf(fp, "\tSystem : %s %s\n", os, rel); + fprintf(fp, "\tDetails : %s\n", details); fprintf(fp, "\tArchitecture: %s.%s\n", os, mach); fprintf(fp, "\tMachine : %s\n", mach); fprintf(fp, ">Description:\n");