version 1.297, 2018/06/06 18:23:32 |
version 1.298, 2018/06/06 18:29:18 |
|
|
const char *filename) |
const char *filename) |
{ |
{ |
FILE *f; |
FILE *f; |
char buf[4096]; |
char *line = NULL, *cp, *value; |
char *cp, *value; |
size_t linesize = 0; |
u_int lineno = 0; |
u_int lineno = 0; |
|
|
f = fopen(filename, "r"); |
f = fopen(filename, "r"); |
if (!f) |
if (!f) |
return; |
return; |
|
|
while (fgets(buf, sizeof(buf), f)) { |
while (getline(&line, &linesize, f) != -1) { |
if (++lineno > 1000) |
if (++lineno > 1000) |
fatal("Too many lines in environment file %s", filename); |
fatal("Too many lines in environment file %s", filename); |
for (cp = buf; *cp == ' ' || *cp == '\t'; cp++) |
for (cp = line; *cp == ' ' || *cp == '\t'; cp++) |
; |
; |
if (!*cp || *cp == '#' || *cp == '\n') |
if (!*cp || *cp == '#' || *cp == '\n') |
continue; |
continue; |
|
|
value++; |
value++; |
child_set_env(env, envsize, cp, value); |
child_set_env(env, envsize, cp, value); |
} |
} |
|
free(line); |
fclose(f); |
fclose(f); |
} |
} |
|
|