summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/putenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/stdlib/putenv.c')
-rw-r--r--src/lib/libc/stdlib/putenv.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/lib/libc/stdlib/putenv.c b/src/lib/libc/stdlib/putenv.c
index 2194c2c608..1789e686ef 100644
--- a/src/lib/libc/stdlib/putenv.c
+++ b/src/lib/libc/stdlib/putenv.c
@@ -1,6 +1,6 @@
1/*- 1/*-
2 * Copyright (c) 1988 The Regents of the University of California. 2 * Copyright (c) 1988, 1993
3 * All rights reserved. 3 * The Regents of the University of California. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
@@ -10,11 +10,7 @@
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software 13 * 3. Neither the name of the University nor the names of its contributors
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software 14 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission. 15 * without specific prior written permission.
20 * 16 *
@@ -32,8 +28,7 @@
32 */ 28 */
33 29
34#if defined(LIBC_SCCS) && !defined(lint) 30#if defined(LIBC_SCCS) && !defined(lint)
35/*static char *sccsid = "from: @(#)putenv.c 5.4 (Berkeley) 2/23/91";*/ 31static char *rcsid = "$OpenBSD: putenv.c,v 1.3 2003/06/02 20:18:38 millert Exp $";
36static char *rcsid = "$Id: putenv.c,v 1.1.1.1 1995/10/18 08:42:18 deraadt Exp $";
37#endif /* LIBC_SCCS and not lint */ 32#endif /* LIBC_SCCS and not lint */
38 33
39#include <stdlib.h> 34#include <stdlib.h>
@@ -43,17 +38,17 @@ int
43putenv(str) 38putenv(str)
44 const char *str; 39 const char *str;
45{ 40{
46 register char *p, *equal; 41 char *p, *equal;
47 int rval; 42 int rval;
48 43
49 if (!(p = strdup(str))) 44 if ((p = strdup(str)) == NULL)
50 return(1); 45 return (-1);
51 if (!(equal = strchr(p, '='))) { 46 if ((equal = strchr(p, '=')) == NULL) {
52 (void)free(p); 47 (void)free(p);
53 return(1); 48 return (-1);
54 } 49 }
55 *equal = '\0'; 50 *equal = '\0';
56 rval = setenv(p, equal + 1, 1); 51 rval = setenv(p, equal + 1, 1);
57 (void)free(p); 52 (void)free(p);
58 return(rval); 53 return (rval);
59} 54}