version 1.15, 2015/01/20 09:00:16 |
version 1.16, 2018/09/09 13:53:11 |
|
|
return; |
return; |
} |
} |
if (*s == '~') { |
if (*s == '~') { |
|
struct passwd *pw; |
|
|
cp = ++s; |
cp = ++s; |
if (*cp == CNULL || *cp == '/') { |
if (*cp == CNULL || *cp == '/') { |
tilde = "~"; |
tilde = "~"; |
|
|
*cp1++ = *cp++; |
*cp1++ = *cp++; |
while (*cp && *cp != '/'); |
while (*cp && *cp != '/'); |
*cp1 = CNULL; |
*cp1 = CNULL; |
if (pw == NULL || strcmp(pw->pw_name, |
if (strcmp(locuser, (char *)ebuf+1) != 0) { |
(char *)ebuf+1) != 0) { |
|
if ((pw = getpwnam((char *)ebuf+1)) == NULL) { |
if ((pw = getpwnam((char *)ebuf+1)) == NULL) { |
strlcat((char *)ebuf, |
strlcat((char *)ebuf, |
": unknown user name", |
": unknown user name", |
|
|
yyerror((char *)ebuf+1); |
yyerror((char *)ebuf+1); |
return; |
return; |
} |
} |
|
cp1 = (u_char *)pw->pw_dir; |
|
} else { |
|
cp1 = (u_char *)homedir; |
} |
} |
cp1 = (u_char *)pw->pw_dir; |
|
s = cp; |
s = cp; |
} |
} |
for (cp = (u_char *)path; (*cp++ = *cp1++) != '\0'; ) |
for (cp = (u_char *)path; (*cp++ = *cp1++) != '\0'; ) |