From 8b642fcea17dc9cafba71701aa3e6b4887d2664b Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 19 May 1999 21:03:33 +0000 Subject: [PATCH] setenv emulation using putenv works properly (previously you would get wrong environment variable settings). (Thanks to Ben Harris.) --- debian/changelog | 7 +++++++ lib.c | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index 8f11832..e2f0b35 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +userv (0.63) unstable; urgency=low + + * setenv emulation using putenv works properly (previously you would get + wrong environment variable settings). (Thanks to Ben Harris.) + + -- + userv (0.62) unstable; urgency=low * New builtin service `help' lists builtin services. diff --git a/lib.c b/lib.c index bd40ee0..22c8cd1 100644 --- a/lib.c +++ b/lib.c @@ -116,14 +116,10 @@ void snytprintfcat(char *buffer, size_t size, const char *fmt, ...) { #ifndef HAVE_SETENV int setenv(const char *name, const char *value, int overwrite) { - static char *buffer= 0; - static int avail= 0; - - int r; + char *buffer= 0; assert(overwrite==1); - r= makeroom(&buffer,&avail,strlen(name)+strlen(value)+2); - if (r) { errno= EINVAL; return -1; } + buffer= xmalloc(strlen(name)+strlen(value)+2); sprintf(buffer,"%s=%s",name,value); return putenv(buffer); -- 2.30.2