version 1.12, 2000/06/30 16:00:13 |
version 1.13, 2001/01/10 20:10:36 |
|
|
#include "finger.h" |
#include "finger.h" |
#include "extern.h" |
#include "extern.h" |
|
|
|
char *estrdup(char *); |
|
|
void |
void |
find_idle_and_ttywrite(w) |
find_idle_and_ttywrite(w) |
WHERE *w; |
WHERE *w; |
|
|
w->writable = ((sb.st_mode & TALKABLE) == TALKABLE); |
w->writable = ((sb.st_mode & TALKABLE) == TALKABLE); |
} |
} |
|
|
|
char * |
|
estrdup(char *s) |
|
{ |
|
char *p = strdup(s); |
|
if (p) |
|
err(1, "stdup"); |
|
return (p); |
|
} |
|
|
void |
void |
userinfo(pn, pw) |
userinfo(pn, pw) |
PERSON *pn; |
PERSON *pn; |
|
|
pn->realname = pn->office = pn->officephone = pn->homephone = NULL; |
pn->realname = pn->office = pn->officephone = pn->homephone = NULL; |
|
|
pn->uid = pw->pw_uid; |
pn->uid = pw->pw_uid; |
pn->name = strdup(pw->pw_name); |
pn->name = estrdup(pw->pw_name); |
pn->dir = strdup(pw->pw_dir); |
pn->dir = estrdup(pw->pw_dir); |
pn->shell = strdup(pw->pw_shell); |
pn->shell = estrdup(pw->pw_shell); |
|
|
(void)strncpy(bp = tbuf, pw->pw_gecos, sizeof(tbuf)); |
(void)strncpy(bp = tbuf, pw->pw_gecos, sizeof(tbuf)); |
|
|
|
|
if (!(p = strsep(&bp, ","))) |
if (!(p = strsep(&bp, ","))) |
return; |
return; |
expandusername(p, pw->pw_name, name, sizeof(name)); |
expandusername(p, pw->pw_name, name, sizeof(name)); |
pn->realname = strdup(name); |
pn->realname = estrdup(name); |
pn->office = ((p = strsep(&bp, ",")) && *p) ? |
pn->office = ((p = strsep(&bp, ",")) && *p) ? |
strdup(p) : NULL; |
estrdup(p) : NULL; |
pn->officephone = ((p = strsep(&bp, ",")) && *p) ? |
pn->officephone = ((p = strsep(&bp, ",")) && *p) ? |
strdup(p) : NULL; |
estrdup(p) : NULL; |
pn->homephone = ((p = strsep(&bp, ",")) && *p) ? |
pn->homephone = ((p = strsep(&bp, ",")) && *p) ? |
strdup(p) : NULL; |
estrdup(p) : NULL; |
(void)snprintf(tbuf, sizeof(tbuf), "%s/%s", _PATH_MAILSPOOL, |
(void)snprintf(tbuf, sizeof(tbuf), "%s/%s", _PATH_MAILSPOOL, |
pw->pw_name); |
pw->pw_name); |
pn->mailrecv = -1; /* -1 == not_valid */ |
pn->mailrecv = -1; /* -1 == not_valid */ |