PERFORCE change 113090 for review

John Baldwin jhb at freebsd.org
Thu Jan 18 14:37:00 UTC 2007


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>.

-- 
John Baldwin


More information about the p4-projects mailing list