]> granicus.if.org Git - neomutt/commitdiff
Remove in-house implementation of setenv
authorPietro Cerutti <gahr@gahr.ch>
Mon, 23 Jan 2017 14:45:25 +0000 (14:45 +0000)
committerPietro Cerutti <gahr@gahr.ch>
Tue, 24 Jan 2017 20:32:46 +0000 (20:32 +0000)
Issue: #325

configure.ac
protos.h
setenv.c [deleted file]

index 849e41a9deae1cb32653a83033e592fb3227b39a..7ca0d80ebfd66a6996b1ebc8306f0fb592d61d98 100644 (file)
@@ -492,7 +492,7 @@ AC_CHECK_TYPE(ssize_t, int)
 
 AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
 
-AC_REPLACE_FUNCS([setenv strcasecmp strsep strtok_r wcscasecmp])
+AC_REPLACE_FUNCS([strsep strtok_r wcscasecmp])
 AC_REPLACE_FUNCS([strcasestr mkdtemp])
 
 AC_CHECK_FUNC(getopt)
index b318c802ef9305bfe3f8f49d5bf61986426c75da..39186432fae5b235caf8cab57ff33705ac8b0ec9 100644 (file)
--- a/protos.h
+++ b/protos.h
@@ -560,10 +560,6 @@ int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *);
 
 /* prototypes for compatibility functions */
 
-#ifndef HAVE_SETENV
-int setenv (const char *, const char *, int);
-#endif
-
 #ifndef HAVE_STRSEP
 char *strsep (char **, const char *);
 #endif
diff --git a/setenv.c b/setenv.c
deleted file mode 100644 (file)
index 36fe7de..0000000
--- a/setenv.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*  Replacement for a missing setenv.
-**
-**  Written by Russ Allbery <rra@stanford.edu>
-**  This work is hereby placed in the public domain by its author.
-**
-**  Provides the same functionality as the standard library routine setenv
-**  for those platforms that don't have it.
-*/
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-int
-setenv(const char *name, const char *value, int overwrite)
-{
-    char *envstring;
-
-    if (!overwrite && getenv(name) != NULL)
-        return 0;
-
-    /* Allocate memory for the environment string.  We intentionally don't
-       use concat here, or the xmalloc family of allocation routines, since
-       the intention is to provide a replacement for the standard library
-       function which sets errno and returns in the event of a memory
-       allocation failure. */
-    envstring = malloc(strlen(name) + 1 + strlen(value) + 1); /* __MEM_CHECKED__ */
-    if (envstring == NULL)
-        return -1;
-
-    /* Build the environment string and add it to the environment using
-       putenv.  Systems without putenv lose, but XPG4 requires it. */
-    strcpy(envstring, name);  /* __STRCPY_CHECKED__ */
-    strcat(envstring, "=");   /* __STRCAT_CHECKED__ */
-    strcat(envstring, value); /* __STRCAT_CHECKED__ */
-    return putenv(envstring);
-
-    /* Note that the memory allocated is not freed.  This is intentional;
-       many implementations of putenv assume that the string passed to
-       putenv will never be freed and don't make a copy of it.  Repeated use
-       of this function will therefore leak memory, since most
-       implementations of putenv also don't free strings removed from the
-       environment (due to being overwritten). */
-}