aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDoug Ambrisko <ambrisko@FreeBSD.org>2005-12-02 00:50:30 +0000
committerDoug Ambrisko <ambrisko@FreeBSD.org>2005-12-02 00:50:30 +0000
commitd630a05f40fa67600be81eb1dab77bef8903c03d (patch)
tree4959ed14f9333fb1234fd67393765e185198b189 /lib
parentd19ff8f1d2278033cd09651132e7a4eb85f309f6 (diff)
Notes
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/gen/__xuname.c8
-rw-r--r--lib/libc/gen/getosreldate.c5
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/libc/gen/__xuname.c b/lib/libc/gen/__xuname.c
index 4d1be8c04f10..c7965743675d 100644
--- a/lib/libc/gen/__xuname.c
+++ b/lib/libc/gen/__xuname.c
@@ -71,6 +71,8 @@ __xuname(int namesize, void *namebuf)
rval = -1;
}
name->sysname[sizeof(name->sysname) - 1] = '\0';
+ if ((p = getenv("UNAME_s")))
+ strncpy(name->sysname, p, sizeof(name->sysname));
mib[0] = CTL_KERN;
mib[1] = KERN_HOSTNAME;
@@ -95,6 +97,8 @@ __xuname(int namesize, void *namebuf)
rval = -1;
}
name->release[sizeof(name->release) - 1] = '\0';
+ if ((p = getenv("UNAME_r")))
+ strncpy(name->release, p, sizeof(name->release));
/* The version may have newlines in it, turn them into spaces. */
mib[0] = CTL_KERN;
@@ -116,6 +120,8 @@ __xuname(int namesize, void *namebuf)
*p = '\0';
}
}
+ if ((p = getenv("UNAME_v")))
+ strncpy(name->version, p, sizeof(name->version));
mib[0] = CTL_HW;
mib[1] = HW_MACHINE;
@@ -128,5 +134,7 @@ __xuname(int namesize, void *namebuf)
rval = -1;
}
name->machine[sizeof(name->machine) - 1] = '\0';
+ if ((p = getenv("UNAME_m")))
+ strncpy(name->machine, p, sizeof(name->machine));
return (rval);
}
diff --git a/lib/libc/gen/getosreldate.c b/lib/libc/gen/getosreldate.c
index 22c400d1c737..03a00c1b6a81 100644
--- a/lib/libc/gen/getosreldate.c
+++ b/lib/libc/gen/getosreldate.c
@@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/sysctl.h>
+#include <stdlib.h>
#include <osreldate.h>
@@ -49,10 +50,14 @@ getosreldate(void)
size_t size;
int value;
+ char *temp;
+
mib[0] = CTL_KERN;
mib[1] = KERN_OSRELDATE;
size = sizeof value;
if (sysctl(mib, 2, &value, &size, NULL, 0) == -1)
return (-1);
+ if ((temp = getenv("OSVERSION")))
+ value = atoi(temp);
return (value);
}