compat/setenv.c: update errno when erroring out

Previously, gitsetenv didn't update errno as it should when erroring out. Fix this. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Erik Faye-Lund committed Dec 14, 2011 at 15:07 UTC 57590c72b4d3b02e32732c7d79514c0281d6c2b5
1 file changed +8 -2
compat/setenv.c
+8 -2
@@ -6,7 +6,10 @@ int gitsetenv(const char *name, const char *value, int replace)
6 size_t namelen, valuelen;
7 char *envstr;
8
9 - if (!name || !value) return -1;
9 + if (!name || !value) {
10 + errno = EINVAL;
11 + return -1;
12 + }
13 if (!replace) {
14 char *oldval = NULL;
15 oldval = getenv(name);
@@ -16,7 +19,10 @@ int gitsetenv(const char *name, const char *value, int replace)
19 namelen = strlen(name);
20 valuelen = strlen(value);
21 envstr = malloc((namelen + valuelen + 2));
19 - if (!envstr) return -1;
22 + if (!envstr) {
23 + errno = ENOMEM;
24 + return -1;
25 + }
26
27 memcpy(envstr, name, namelen);
28 envstr[namelen] = '=';