diff options
author | jhb <jhb@FreeBSD.org> | 2001-10-23 22:34:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-10-23 22:34:36 +0000 |
commit | aa79b67470e8ed8ef4df8d5df1b20b03767d9e1f (patch) | |
tree | 60f4d494d562414989f6de7171d845184d80f7b0 /sys/kern/kern_environment.c | |
parent | 507fdcfb7e4bdce96fbec9b3025085a172a64383 (diff) | |
download | FreeBSD-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.c | 22 |
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; |