Commit Diff


commit - 49fda441d2d22ec646d02a5159e7f52ab457b314
commit + d72054aa270d6f3d539e830ef9892138a255872a
blob - bdc8841f331f73cc7d6431858e5451ace4170c84
blob + 6a3b1fcab397d8cf60bbc9a0f08b4347cdcb1aa4
--- src/lib9/mkfile
+++ src/lib9/mkfile
@@ -139,6 +139,7 @@ LIB9OFILES=\
 	sleep.$O\
 	strecpy.$O\
 	sysfatal.$O\
+	sysname.$O\
 	tas-$OBJTYPE.$O\
 	time.$O\
 	tokenize.$O\
blob - /dev/null
blob + 775b609496a8bb858f6d4ea893ba807429d6a3ed (mode 644)
--- /dev/null
+++ src/lib9/sysname.c
@@ -0,0 +1,23 @@
+#include <u.h>
+#include <libc.h>
+
+char*
+sysname(void)
+{
+	char buf[300], *p, *q;
+
+	if((q = getenv("sysname")) == nil){
+		if(gethostname(buf, sizeof buf) < 0)
+			goto err;
+		buf[sizeof buf-1] = 0;
+		q = strdup(buf);
+		if(q == nil)
+			goto err;
+	}
+	if((p = strchr(q, '.')) != nil)
+		*p = 0;
+	return q;
+
+err:
+	return "gnot";
+}