diff options
author | des <des@FreeBSD.org> | 2007-10-13 11:30:19 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2007-10-13 11:30:19 +0000 |
commit | 73606ae49251815e7b718e5aeea75826d0b9ac1a (patch) | |
tree | fd0c19223570c3e16a6aef43290140f908ae0553 | |
parent | 15a00681b7e367240bea32c02bc815d6cf29e184 (diff) | |
download | FreeBSD-src-73606ae49251815e7b718e5aeea75826d0b9ac1a.zip FreeBSD-src-73606ae49251815e7b718e5aeea75826d0b9ac1a.tar.gz |
I don't know what I was smoking when I wrote these three years ago; the
return value is an error code, hence always an int.
While I'm here, add getenv_uint() for completeness.
-rw-r--r-- | sys/kern/kern_environment.c | 23 | ||||
-rw-r--r-- | sys/sys/systm.h | 5 |
2 files changed, 22 insertions, 6 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index 9737f35..ca20f38 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -439,13 +439,28 @@ getenv_int(const char *name, int *data) } /* + * Return an unsigned integer value from an environment variable. + */ +int +getenv_uint(const char *name, unsigned int *data) +{ + quad_t tmp; + int rval; + + rval = getenv_quad(name, &tmp); + if (rval) + *data = (unsigned int) tmp; + return (rval); +} + +/* * Return a long value from an environment variable. */ -long +int getenv_long(const char *name, long *data) { quad_t tmp; - long rval; + int rval; rval = getenv_quad(name, &tmp); if (rval) @@ -456,11 +471,11 @@ getenv_long(const char *name, long *data) /* * Return an unsigned long value from an environment variable. */ -unsigned long +int getenv_ulong(const char *name, unsigned long *data) { quad_t tmp; - long rval; + int rval; rval = getenv_quad(name, &tmp); if (rval) diff --git a/sys/sys/systm.h b/sys/sys/systm.h index e254d5a..21059ba 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -239,8 +239,9 @@ int cr_canseesocket(struct ucred *cred, struct socket *so); char *getenv(const char *name); void freeenv(char *env); int getenv_int(const char *name, int *data); -long getenv_long(const char *name, long *data); -unsigned long getenv_ulong(const char *name, unsigned long *data); +int getenv_uint(const char *name, unsigned int *data); +int getenv_long(const char *name, long *data); +int getenv_ulong(const char *name, unsigned long *data); int getenv_string(const char *name, char *data, int size); int getenv_quad(const char *name, quad_t *data); int setenv(const char *name, const char *value); |