about summary refs log tree commit diff
path: root/Src/params.c
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-03-25 18:04:48 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-03-25 18:04:48 +0000
commit7e2d72fff45836860a86550e1a98c800bede1eb8 (patch)
tree5d39ca7f6745854726ffe6adbdb6682555c1cec9 /Src/params.c
parentd8f703027345170c7bc820ed7808e693dd1377d6 (diff)
downloadzsh-7e2d72fff45836860a86550e1a98c800bede1eb8.tar.gz
zsh-7e2d72fff45836860a86550e1a98c800bede1eb8.tar.xz
zsh-7e2d72fff45836860a86550e1a98c800bede1eb8.zip
zsh-workers/10242
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/Src/params.c b/Src/params.c
index d5c419daf..cdaecb199 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -453,6 +453,10 @@ createparamtable(void)
     char **new_environ, **envp, **envp2, **sigptr, **t;
     char buf[50], *str, *iname;
     int num_env, oae = opts[ALLEXPORT];
+#ifdef HAVE_UNAME
+    struct utsname unamebuf;
+    char *machinebuf;
+#endif
 
     paramtab = realparamtab = newparamtable(151, "paramtab");
 
@@ -538,7 +542,17 @@ createparamtable(void)
 
     /* Add the standard non-special parameters */
     set_pwd_env();
+#ifdef HAVE_UNAME
+    if(uname(&unamebuf)) setsparam("MACHTYPE", ztrdup(MACHTYPE));
+    else
+    {
+       machinebuf = ztrdup(unamebuf.machine);
+       setsparam("MACHTYPE", machinebuf);
+    }
+	
+#else
     setsparam("MACHTYPE", ztrdup(MACHTYPE));
+#endif
     setsparam("OSTYPE", ztrdup(OSTYPE));
     setsparam("TTY", ztrdup(ttystrname));
     setsparam("VENDOR", ztrdup(VENDOR));