version 1.13, 1998/04/07 20:01:06 |
version 1.14, 1998/05/15 01:26:09 |
|
|
} |
} |
|
|
asprintf (&cp, "%s%s", hbuf, cp2); |
asprintf (&cp, "%s%s", hbuf, cp2); |
|
if (cp == NULL) |
|
err(1, "asprintf"); |
|
|
free(ep->value); |
free(ep->value); |
ep->value = (unsigned char *)cp; |
ep->value = (unsigned char *)cp; |
|
|
if (ep->value) |
if (ep->value) |
free(ep->value); |
free(ep->value); |
} else { |
} else { |
ep = (struct env_lst *)malloc(sizeof(struct env_lst)); |
if ((ep = malloc(sizeof(struct env_lst))) == NULL) |
|
err(1, "malloc"); |
ep->next = envlisthead.next; |
ep->next = envlisthead.next; |
envlisthead.next = ep; |
envlisthead.next = ep; |
ep->prev = &envlisthead; |
ep->prev = &envlisthead; |
|
|
} |
} |
ep->welldefined = opt_welldefined((char *)var); |
ep->welldefined = opt_welldefined((char *)var); |
ep->export = 1; |
ep->export = 1; |
ep->var = (unsigned char *)strdup((char *)var); |
if ((ep->var = strdup((char *)var)) == NULL) |
ep->value = (unsigned char *)strdup((char *)value); |
err(1, "strdup"); |
|
if ((ep->value = strdup((char *)value)) == NULL) |
|
err(1, "strdup"); |
return(ep); |
return(ep); |
} |
} |
|
|
|
|
--argc; ++argv; |
--argc; ++argv; |
if (argc == 0) |
if (argc == 0) |
goto usage; |
goto usage; |
user = strdup(*argv++); |
if ((user = strdup(*argv++)) == NULL) |
|
err(1, "strdup"); |
--argc; |
--argc; |
continue; |
continue; |
} |
} |