summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2007-10-13 11:30:19 +0000
committerdes <des@FreeBSD.org>2007-10-13 11:30:19 +0000
commit73606ae49251815e7b718e5aeea75826d0b9ac1a (patch)
treefd0c19223570c3e16a6aef43290140f908ae0553
parent15a00681b7e367240bea32c02bc815d6cf29e184 (diff)
downloadFreeBSD-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.c23
-rw-r--r--sys/sys/systm.h5
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);
OpenPOWER on IntegriCloud