summaryrefslogtreecommitdiff
path: root/contrib/sendmail/libsm/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/libsm/config.c')
-rw-r--r--contrib/sendmail/libsm/config.c242
1 files changed, 0 insertions, 242 deletions
diff --git a/contrib/sendmail/libsm/config.c b/contrib/sendmail/libsm/config.c
deleted file mode 100644
index 53cbe3dca4efb..0000000000000
--- a/contrib/sendmail/libsm/config.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (c) 2000-2001 Sendmail, Inc. and its suppliers.
- * All rights reserved.
- *
- * By using this file, you agree to the terms and conditions set
- * forth in the LICENSE file which can be found at the top level of
- * the sendmail distribution.
- *
- */
-
-#include <sm/gen.h>
-SM_RCSID("@(#)$Id: config.c,v 1.27 2002/01/23 17:30:48 gshapiro Exp $")
-
-#include <stdlib.h>
-#include <sm/heap.h>
-#include <sm/string.h>
-#include <sm/conf.h>
-
-/*
-** PUTENV -- emulation of putenv() in terms of setenv()
-**
-** Not needed on Posix-compliant systems.
-** This doesn't have full Posix semantics, but it's good enough
-** for sendmail.
-**
-** Parameter:
-** env -- the environment to put.
-**
-** Returns:
-** 0 on success, < 0 on failure.
-*/
-
-#if NEEDPUTENV
-
-# if NEEDPUTENV == 2 /* no setenv(3) call available */
-
-int
-putenv(str)
- char *str;
-{
- char **current;
- int matchlen, envlen = 0;
- char *tmp;
- char **newenv;
- static bool first = true;
- extern char **environ;
-
- /*
- ** find out how much of str to match when searching
- ** for a string to replace.
- */
-
- if ((tmp = strchr(str, '=')) == NULL || tmp == str)
- matchlen = strlen(str);
- else
- matchlen = (int) (tmp - str);
- ++matchlen;
-
- /*
- ** Search for an existing string in the environment and find the
- ** length of environ. If found, replace and exit.
- */
-
- for (current = environ; *current != NULL; current++)
- {
- ++envlen;
-
- if (strncmp(str, *current, matchlen) == 0)
- {
- /* found it, now insert the new version */
- *current = (char *) str;
- return 0;
- }
- }
-
- /*
- ** There wasn't already a slot so add space for a new slot.
- ** If this is our first time through, use malloc(), else realloc().
- */
-
- if (first)
- {
- newenv = (char **) sm_malloc(sizeof(char *) * (envlen + 2));
- if (newenv == NULL)
- return -1;
-
- first = false;
- (void) memcpy(newenv, environ, sizeof(char *) * envlen);
- }
- else
- {
- newenv = (char **) sm_realloc((char *) environ,
- sizeof(char *) * (envlen + 2));
- if (newenv == NULL)
- return -1;
- }
-
- /* actually add in the new entry */
- environ = newenv;
- environ[envlen] = (char *) str;
- environ[envlen + 1] = NULL;
-
- return 0;
-}
-
-# else /* NEEDPUTENV == 2 */
-
-int
-putenv(env)
- char *env;
-{
- char *p;
- int l;
- char nbuf[100];
-
- p = strchr(env, '=');
- if (p == NULL)
- return 0;
- l = p - env;
- if (l > sizeof nbuf - 1)
- l = sizeof nbuf - 1;
- memmove(nbuf, env, l);
- nbuf[l] = '\0';
- return setenv(nbuf, ++p, 1);
-}
-
-# endif /* NEEDPUTENV == 2 */
-#endif /* NEEDPUTENV */
-/*
-** UNSETENV -- remove a variable from the environment
-**
-** Not needed on newer systems.
-**
-** Parameters:
-** name -- the string name of the environment variable to be
-** deleted from the current environment.
-**
-** Returns:
-** none.
-**
-** Globals:
-** environ -- a pointer to the current environment.
-**
-** Side Effects:
-** Modifies environ.
-*/
-
-#if !HASUNSETENV
-
-void
-unsetenv(name)
- char *name;
-{
- extern char **environ;
- register char **pp;
- int len = strlen(name);
-
- for (pp = environ; *pp != NULL; pp++)
- {
- if (strncmp(name, *pp, len) == 0 &&
- ((*pp)[len] == '=' || (*pp)[len] == '\0'))
- break;
- }
-
- for (; *pp != NULL; pp++)
- *pp = pp[1];
-}
-
-#endif /* !HASUNSETENV */
-
-char *SmCompileOptions[] =
-{
-#if SM_CONF_BROKEN_STRTOD
- "SM_CONF_BROKEN_STRTOD",
-#endif /* SM_CONF_BROKEN_STRTOD */
-#if SM_CONF_GETOPT
- "SM_CONF_GETOPT",
-#endif /* SM_CONF_GETOPT */
-#if SM_CONF_LDAP_MEMFREE
- "SM_CONF_LDAP_MEMFREE",
-#endif /* SM_CONF_LDAP_MEMFREE */
-#if SM_CONF_LONGLONG
- "SM_CONF_LONGLONG",
-#endif /* SM_CONF_LONGLONG */
-#if SM_CONF_MEMCHR
- "SM_CONF_MEMCHR",
-#endif /* SM_CONF_MEMCHR */
-#if SM_CONF_MSG
- "SM_CONF_MSG",
-#endif /* SM_CONF_MSG */
-#if SM_CONF_QUAD_T
- "SM_CONF_QUAD_T",
-#endif /* SM_CONF_QUAD_T */
-#if SM_CONF_SEM
- "SM_CONF_SEM",
-#endif /* SM_CONF_SEM */
-#if SM_CONF_SETITIMER
- "SM_CONF_SETITIMER",
-#endif /* SM_CONF_SETITIMER */
-#if SM_CONF_SHM
- "SM_CONF_SHM",
-#endif /* SM_CONF_SHM */
-#if SM_CONF_SHM_DELAY
- "SM_CONF_SHM_DELAY",
-#endif /* SM_CONF_SHM_DELAY */
-#if SM_CONF_SSIZE_T
- "SM_CONF_SSIZE_T",
-#endif /* SM_CONF_SSIZE_T */
-#if SM_CONF_STDBOOL_H
- "SM_CONF_STDBOOL_H",
-#endif /* SM_CONF_STDBOOL_H */
-#if SM_CONF_STDDEF_H
- "SM_CONF_STDDEF_H",
-#endif /* SM_CONF_STDDEF_H */
-
-#if 0
-/* XXX this is always enabled (for now) */
-#if SM_CONF_STRL
- "SM_CONF_STRL",
-#endif /* SM_CONF_STRL */
-#endif /* 0 */
-
-#if SM_CONF_SYS_CDEFS_H
- "SM_CONF_SYS_CDEFS_H",
-#endif /* SM_CONF_SYS_CDEFS_H */
-#if SM_CONF_SYSEXITS_H
- "SM_CONF_SYSEXITS_H",
-#endif /* SM_CONF_SYSEXITS_H */
-#if SM_CONF_UID_GID
- "SM_CONF_UID_GID",
-#endif /* SM_CONF_UID_GID */
-#if SM_HEAP_CHECK
- "SM_HEAP_CHECK",
-#endif /* SM_HEAP_CHECK */
-#if defined(SM_OS_NAME) && defined(__STDC__)
- "SM_OS=sm_os_" SM_OS_NAME,
-#endif /* defined(SM_OS_NAME) && defined(__STDC__) */
-#if SM_VA_STD
- "SM_VA_STD",
-#endif /* SM_VA_STD */
- NULL
-};