diff options
Diffstat (limited to 'Src/params.c')
-rw-r--r-- | Src/params.c | 14 |
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)); |