version 1.201, 2010/01/10 03:51:17 |
version 1.202, 2010/01/13 03:48:12 |
|
|
return sBadOption; |
return sBadOption; |
} |
} |
|
|
|
char * |
|
derelativise_path(const char *path) |
|
{ |
|
char *expanded, *ret, *cwd; |
|
|
|
expanded = tilde_expand_filename(path, getuid()); |
|
if (*expanded == '/') |
|
return expanded; |
|
if ((cwd = getcwd(NULL, 0)) == NULL) |
|
fatal("%s: getcwd: %s", __func__, strerror(errno)); |
|
xasprintf(&ret, "%s/%s", cwd, expanded); |
|
xfree(cwd); |
|
xfree(expanded); |
|
return ret; |
|
} |
|
|
static void |
static void |
add_listen_addr(ServerOptions *options, char *addr, int port) |
add_listen_addr(ServerOptions *options, char *addr, int port) |
{ |
{ |
|
|
fatal("%s line %d: missing file name.", |
fatal("%s line %d: missing file name.", |
filename, linenum); |
filename, linenum); |
if (*activep && *charptr == NULL) { |
if (*activep && *charptr == NULL) { |
*charptr = tilde_expand_filename(arg, getuid()); |
*charptr = derelativise_path(arg); |
/* increase optional counter */ |
/* increase optional counter */ |
if (intptr != NULL) |
if (intptr != NULL) |
*intptr = *intptr + 1; |
*intptr = *intptr + 1; |