diff options
-rw-r--r-- | agi/Makefile | 2 | ||||
-rw-r--r-- | strcompat.c | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/agi/Makefile b/agi/Makefile index a2f3bee05..e24587720 100644 --- a/agi/Makefile +++ b/agi/Makefile @@ -13,7 +13,7 @@ AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi -CFLAGS+= +CFLAGS+=-DNO_AST_MM LIBS= ifeq ($(OSARCH),SunOS) diff --git a/strcompat.c b/strcompat.c index 8c9916d23..93a6b0c2b 100644 --- a/strcompat.c +++ b/strcompat.c @@ -33,21 +33,18 @@ char* strsep(char** str, const char* delims) int setenv(const char *name, const char *value, int overwrite) { unsigned char *buf; - int buflen, ret; + int buflen; buflen = strlen(name) + strlen(value) + 2; - if ((buf = malloc(buflen)) == NULL) + if (!(buf = alloca(buflen))) return -1; if (!overwrite && getenv(name)) return 0; snprintf(buf, buflen, "%s=%s", name, value); - ret = putenv(buf); - free(buf); - - return ret; + return putenv(buf); } void unsetenv(const char *name) |