PERFORCE change 113090 for review

Jung-uk Kim jkim at FreeBSD.org
Thu Jan 18 16:57:17 UTC 2007


On Thursday 18 January 2007 09:17 am, John Baldwin wrote:
> On Wednesday 17 January 2007 21:43, Jung-uk Kim wrote:
> > http://perforce.freebsd.org/chv.cgi?CH=113090
> >
> > Change 113090 by jkim at jkim_hammer on 2007/01/18 02:43:32
> >
> > 	- Add Linux kernel version strings to /proc/sys/kernel.
> > 	- Properly implement OS build date string instead of using fake
> > one.
> >
> > Affected files ...
> >
> > ..
> > //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c
> >#8 edit
> >
> > Differences ...
> >
> > ====
> > //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c
> >#8 (text+ko) ====
> >
> > @@ -416,6 +416,37 @@
> >  }
> >
> >  /*
> > + * Get OS build date
> > + */
> > +static void
> > +linprocfs_osbuild(struct thread *td, struct sbuf *sb)
> > +{
> > +	char osbuild[256];
> > +	int kern_ver[2];
> > +	size_t size;
> > +	char *cp1, *cp2;
> > +
> > +	cp1 = NULL;
> > +	kern_ver[0] = CTL_KERN;
> > +	kern_ver[1] = KERN_VERSION;
> > +	osbuild[0] = '\0';
> > +	size = sizeof(osbuild);
> > +	if (kernel_sysctl(td, kern_ver, 2, &osbuild, &size, 0, 0, 0, 0)
> > == 0) { +		cp1 = strstr(osbuild, "\n");
> > +		cp2 = strstr(osbuild, ":");
> > +		if (cp1 && cp2) {
> > +			*cp1 = *cp2 = '\0';
> > +			cp1 = strstr(osbuild, "#");
> > +		} else
> > +			cp1 = NULL;
> > +	}
> > +	if (cp1)
> > +		sbuf_printf(sb, "%s%s", cp1, cp2 + 1);
> > +	else
> > +		sbuf_printf(sb, "#4 Sun Dec 18 04:30:00 CET 1977");
> > +}
>
> You can just reference the 'version' global variable w/o having to
> bounce through the sysctl.  It's defined in <sys/systm.h>.

Actually I thought about that but I implemented this way for no 
apparent reason. :-)  I will just grab sys/systm.h in the next 
revision and I will parse builder string as well.

Thanks,

Jung-uk Kim


More information about the p4-projects mailing list