 0ac803292e
			
		
	
	
		0ac803292e
		
	
	
	
	
		
			
			Fix warnings about: . Unused variables . format mismatch in printf/scanf format string and arguments . Missing parenthesis around assignment as truth values . Clang warnings anout unknown GCC pragma
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*	uname(3) - describe the machine.		Author: Kees J. Bot
 | |
|  *								5 Dec 1992
 | |
|  */
 | |
| #include <sys/cdefs.h>
 | |
| #include "namespace.h"
 | |
| 
 | |
| #include <errno.h>
 | |
| #include <fcntl.h>
 | |
| #include <unistd.h>
 | |
| #include <string.h>
 | |
| #include <sys/types.h>
 | |
| #include <sys/utsname.h>
 | |
| 
 | |
| #ifdef __weak_alias
 | |
| __weak_alias(uname, _uname)
 | |
| #endif
 | |
| 
 | |
| #define uts_get(field, string) \
 | |
| 	if (sysuname(_UTS_GET, field, name->string, sizeof(name->string)) < 0) \
 | |
| 		return -1; \
 | |
| 	name->string[sizeof(name->string)-1]= 0;
 | |
| 
 | |
| int uname(struct utsname *name)
 | |
| {
 | |
| 	int hf, n, err;
 | |
| 	char *nl;
 | |
| 
 | |
| 	/* Get each of the strings with a sysuname call.  Null terminate them,
 | |
| 	 * because the buffers in the kernel may grow before this and the
 | |
| 	 * programs are recompiled.
 | |
| 	 */
 | |
| 	uts_get(_UTS_SYSNAME, sysname);
 | |
| 	uts_get(_UTS_NODENAME, nodename);
 | |
| 	uts_get(_UTS_RELEASE, release);
 | |
| 	uts_get(_UTS_VERSION, version);
 | |
| 	uts_get(_UTS_MACHINE, machine);
 | |
| 	uts_get(_UTS_ARCH, arch);
 | |
| #if 0
 | |
| 	uts_get(_UTS_KERNEL, kernel);
 | |
| 	uts_get(_UTS_HOSTNAME, hostname);
 | |
| 	uts_get(_UTS_BUS, bus);
 | |
| #endif
 | |
| 
 | |
| 	/* Try to read the node name from /etc/hostname.file. This information
 | |
| 	 * should be stored in the kernel.
 | |
| 	 */
 | |
| 	if ((hf = open("/etc/hostname.file", O_RDONLY)) < 0) {
 | |
| 		if (errno != ENOENT) return(-1);
 | |
| 	} else {
 | |
| 		n = read(hf, name->nodename, sizeof(name->nodename) - 1);
 | |
| 		err = errno;
 | |
| 		close(hf);
 | |
| 		errno = err;
 | |
| 		if (n < 0) return(-1);
 | |
| 		name->nodename[n] = 0;
 | |
| 		if ((nl = strchr(name->nodename, '\n')) != NULL) {
 | |
| 			memset(nl, 0, (name->nodename +
 | |
| 				sizeof(name->nodename)) - nl);
 | |
| 		}
 | |
| 	}
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * $PchId: _uname.c,v 1.4 1995/11/27 20:09:08 philip Exp $
 | |
|  */
 |