blob: 2060b986eaa879c02a8b24f79491cba7f60525c1 [file] [log] [blame]
rscd72054a2004-04-23 03:50:19 +00001#include <u.h>
2#include <libc.h>
3
4char*
5sysname(void)
6{
rsc70723aa2005-01-04 22:19:25 +00007 static char buf[512];
8 char *p, *q;
rscd72054a2004-04-23 03:50:19 +00009
rsc70723aa2005-01-04 22:19:25 +000010 if(buf[0])
11 return buf;
12
13 if((q = getenv("sysname")) != nil && q[0] != 0){
14 utfecpy(buf, buf+sizeof buf, q);
15 free(q);
16 return buf;
rscd72054a2004-04-23 03:50:19 +000017 }
rsc70723aa2005-01-04 22:19:25 +000018 if(q)
19 free(q);
rscd72054a2004-04-23 03:50:19 +000020
rsc70723aa2005-01-04 22:19:25 +000021 if(gethostname(buf, sizeof buf) >= 0){
22 buf[sizeof buf-1] = 0;
23 if((p = strchr(buf, '.')) != nil)
24 *p = 0;
25 return buf;
26 }
27
28 strcpy(buf, "gnot");
29 return buf;
rscd72054a2004-04-23 03:50:19 +000030}