summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_environment.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2001-10-23 22:34:36 +0000
committerjhb <jhb@FreeBSD.org>2001-10-23 22:34:36 +0000
commitaa79b67470e8ed8ef4df8d5df1b20b03767d9e1f (patch)
tree60f4d494d562414989f6de7171d845184d80f7b0 /sys/kern/kern_environment.c
parent507fdcfb7e4bdce96fbec9b3025085a172a64383 (diff)
downloadFreeBSD-src-aa79b67470e8ed8ef4df8d5df1b20b03767d9e1f.zip
FreeBSD-src-aa79b67470e8ed8ef4df8d5df1b20b03767d9e1f.tar.gz
- Change getenv_quad() to return an int instead of a quad_t since it
returns an success/failure code rather than the actual value. - Add getenv_string() which copies a string from the environment to another string and returns true on success.
Diffstat (limited to 'sys/kern/kern_environment.c')
-rw-r--r--sys/kern/kern_environment.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
index 9789706..08af003 100644
--- a/sys/kern/kern_environment.c
+++ b/sys/kern/kern_environment.c
@@ -46,6 +46,9 @@ char *kern_envp;
static char *kernenv_next(char *cp);
+/*
+ * Look up an environment variable by name.
+ */
char *
getenv(const char *name)
{
@@ -65,6 +68,23 @@ getenv(const char *name)
}
/*
+ * Return a string value from an environment variable.
+ */
+int
+getenv_string(const char *name, char *data, int size)
+{
+ char *tmp;
+
+ tmp = getenv(name);
+ if (tmp == NULL) {
+ strncpy(data, tmp, size);
+ data[size - 1] = 0;
+ return (1);
+ } else
+ return (0);
+}
+
+/*
* Return an integer value from an environment variable.
*/
int
@@ -83,7 +103,7 @@ getenv_int(const char *name, int *data)
/*
* Return a quad_t value from an environment variable.
*/
-quad_t
+int
getenv_quad(const char *name, quad_t *data)
{
const char *value;
OpenPOWER on IntegriCloud