fix the build of eagi-test on Solaris in combination with astmm
[asterisk/asterisk.git] / strcompat.c
old mode 100755 (executable)
new mode 100644 (file)
index be79a59..93a6b0c
@@ -3,9 +3,7 @@
 #include <sys/types.h>
 #include <stdio.h>
 
-#ifdef SOLARIS
-#include "solaris-compat/compat.h"
-#endif
+#include "asterisk/compat.h"
 
 char* strsep(char** str, const char* delims)
 {
@@ -35,25 +33,22 @@ 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);
 }
 
-int unsetenv(const char *name)
+void unsetenv(const char *name)
 {
-  setenv(name,"",0);
+       setenv(name, "", 0);
 }