projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Decode address headers in replcomps
[mmh]
/
uip
/
aliasbr.c
diff --git
a/uip/aliasbr.c
b/uip/aliasbr.c
index
7b7bcef
..
bda7326
100644
(file)
--- a/
uip/aliasbr.c
+++ b/
uip/aliasbr.c
@@
-11,6
+11,7
@@
#include <h/utils.h>
#include <grp.h>
#include <pwd.h>
#include <h/utils.h>
#include <grp.h>
#include <pwd.h>
+#include <ctype.h>
static int akvis;
static char *akerrst;
static int akvis;
static char *akerrst;
@@
-31,7
+32,7
@@
char *akresult(struct aka *);
char *akvalue(char *);
char *akerror(int);
char *akvalue(char *);
char *akerror(int);
-static char *akval(struct aka *, char *);
+static char *akval(struct aka *, char *);
static int aleq(char *, char *);
static char *scanp(unsigned char *);
static char *getp(char *);
static int aleq(char *, char *);
static char *scanp(unsigned char *);
static char *getp(char *);
@@
-50,7
+51,7
@@
struct home *seek_home(char *);
char *
akvalue(char *s)
{
char *
akvalue(char *s)
{
- register char *v;
+ char *v;
akvis = -1;
v = akval(akahead, s);
akvis = -1;
v = akval(akahead, s);
@@
-70,8
+71,8
@@
akvisible(void)
char *
akresult(struct aka *ak)
{
char *
akresult(struct aka *ak)
{
- register char *cp = NULL, *dp, *pp;
- register struct adr *ad;
+ char *cp = NULL, *dp, *pp;
+ struct adr *ad;
for (ad = ak->ak_addr; ad; ad = ad->ad_next) {
pp = ad->ad_local ? akval(ak->ak_next, ad->ad_text)
for (ad = ak->ak_addr; ad; ad = ad->ad_next) {
pp = ad->ad_local ? akval(ak->ak_next, ad->ad_text)
@@
-109,7
+110,7
@@
akval(struct aka *ak, char *s)
static int
aleq(char *string, char *aliasent)
{
static int
aleq(char *string, char *aliasent)
{
- register char c;
+ char c;
while ((c = *string++))
if (*aliasent == '*')
while ((c = *string++))
if (*aliasent == '*')
@@
-130,10
+131,10
@@
int
alias(char *file)
{
int i;
alias(char *file)
{
int i;
- register char *bp, *cp, *pp;
+ char *bp, *cp, *pp;
char lc, *ap;
char lc, *ap;
- register struct aka *ak = NULL;
- register FILE *fp;
+ struct aka *ak = NULL;
+ FILE *fp;
if ((fp = fopen(file, "r")) == NULL) {
akerrst = file;
if ((fp = fopen(file, "r")) == NULL) {
akerrst = file;
@@
-281,7
+282,7
@@
scanp(unsigned char *p)
static char *
getp(char *p)
{
static char *
getp(char *p)
{
- register unsigned char *cp = scanp(p);
+ unsigned char *cp = scanp(p);
p = cp;
while (!isspace(*cp) && *cp)
p = cp;
while (!isspace(*cp) && *cp)
@@
-295,7
+296,7
@@
getp(char *p)
static char *
seekp(char *p, char *c, char **a)
{
static char *
seekp(char *p, char *c, char **a)
{
- register unsigned char *cp;
+ unsigned char *cp;
p = cp = scanp(p);
while (!isspace(*cp) && *cp && *cp != ':' && *cp != ';')
p = cp = scanp(p);
while (!isspace(*cp) && *cp && *cp != ':' && *cp != ';')
@@
-311,9
+312,9
@@
seekp(char *p, char *c, char **a)
static int
addfile(struct aka *ak, char *file)
{
static int
addfile(struct aka *ak, char *file)
{
- register char *cp;
+ char *cp;
char buffer[BUFSIZ];
char buffer[BUFSIZ];
- register FILE *fp;
+ FILE *fp;
if (!(fp = fopen(etcpath(file), "r"))) {
akerrst = file;
if (!(fp = fopen(etcpath(file), "r"))) {
akerrst = file;
@@
-332,9
+333,9
@@
addfile(struct aka *ak, char *file)
static int
addgroup(struct aka *ak, char *grp)
{
static int
addgroup(struct aka *ak, char *grp)
{
- register char *gp;
- register struct group *gr = getgrnam(grp);
- register struct home *hm = NULL;
+ char *gp;
+ struct group *gr = getgrnam(grp);
+ struct home *hm = NULL;
if (!gr)
gr = getgrgid(atoi(grp));
if (!gr)
gr = getgrgid(atoi(grp));
@@
-343,28
+344,19
@@
addgroup(struct aka *ak, char *grp)
return 0;
}
return 0;
}
-#ifndef DBMPWD
- if (homehead == NULL)
- init_pw();
-#endif /* DBMPWD */
-
while ((gp = *gr->gr_mem++))
while ((gp = *gr->gr_mem++))
-#ifdef DBMPWD
{
struct passwd *pw;
{
struct passwd *pw;
-#endif /* DBMPWD */
for (hm = homehead; hm; hm = hm->h_next)
if (strcmp(hm->h_name, gp)==0) {
add_aka(ak, hm->h_name);
break;
}
for (hm = homehead; hm; hm = hm->h_next)
if (strcmp(hm->h_name, gp)==0) {
add_aka(ak, hm->h_name);
break;
}
-#ifdef DBMPWD
if ((pw = getpwnam(gp))) {
if ((pw = getpwnam(gp))) {
- hmalloc(pw);
- add_aka(ak, gp);
+ hmalloc(pw);
+ add_aka(ak, gp);
}
}
}
}
-#endif /* DBMPWD */
return 1;
}
return 1;
}
@@
-374,8
+366,8
@@
static int
addmember(struct aka *ak, char *grp)
{
gid_t gid;
addmember(struct aka *ak, char *grp)
{
gid_t gid;
- register struct group *gr = getgrnam(grp);
- register struct home *hm = NULL;
+ struct group *gr = getgrnam(grp);
+ struct home *hm = NULL;
if (gr)
gid = gr->gr_gid;
if (gr)
gid = gr->gr_gid;
@@
-388,10
+380,7
@@
addmember(struct aka *ak, char *grp)
return 0;
}
return 0;
}
-#ifndef DBMPWD
- if (homehead == NULL)
-#endif /* DBMPWD */
- init_pw();
+ init_pw();
for (hm = homehead; hm; hm = hm->h_next)
if (hm->h_gid == gid)
for (hm = homehead; hm; hm = hm->h_next)
if (hm->h_gid == gid)
@@
-404,7
+393,7
@@
addmember(struct aka *ak, char *grp)
static char *
getalias(char *addrs)
{
static char *
getalias(char *addrs)
{
- register unsigned char *pp, *qp;
+ unsigned char *pp, *qp;
static char *cp = NULL;
if (cp == NULL)
static char *cp = NULL;
if (cp == NULL)
@@
-436,7
+425,7
@@
getalias(char *addrs)
static void
add_aka(struct aka *ak, char *pp)
{
static void
add_aka(struct aka *ak, char *pp)
{
- register struct adr *ad, *ld;
+ struct adr *ad, *ld;
for (ad = ak->ak_addr, ld = NULL; ad; ld = ad, ad = ad->ad_next)
if (strcmp(pp, ad->ad_text)==0)
for (ad = ak->ak_addr, ld = NULL; ad; ld = ad, ad = ad->ad_next)
if (strcmp(pp, ad->ad_text)==0)
@@
-456,35
+445,28
@@
add_aka(struct aka *ak, char *pp)
void
init_pw(void)
{
void
init_pw(void)
{
- register struct passwd *pw;
-#ifdef DBMPWD
- static int init;
+ struct passwd *pw;
+ static int init = 0;
if (!init) {
if (!init) {
- /* if the list has yet to be initialized */
- /* zap the list, and rebuild from scratch */
- homehead=NULL;
- hometail=NULL;
- init++;
-#endif /* DBMPWD */
-
+ /* read the passwd database and build a list */
setpwent();
setpwent();
-
- while ((pw = getpwent()))
- if (!hmalloc(pw))
+ while ((pw = getpwent())) {
+ if (!hmalloc(pw)) {
break;
break;
-
+ }
+ }
endpwent();
endpwent();
-#ifdef DBMPWD
+
+ init++; /* now we're initialized */
}
}
-#endif /* DBMPWD */
}
static struct aka *
akalloc(char *id)
{
}
static struct aka *
akalloc(char *id)
{
- register struct aka *p;
+ struct aka *p;
p = (struct aka *) mh_xmalloc(sizeof(*p));
p = (struct aka *) mh_xmalloc(sizeof(*p));
@@
-505,7
+487,7
@@
akalloc(char *id)
static struct home *
hmalloc(struct passwd *pw)
{
static struct home *
hmalloc(struct passwd *pw)
{
- register struct home *p;
+ struct home *p;
p = (struct home *) mh_xmalloc(sizeof(*p));
p = (struct home *) mh_xmalloc(sizeof(*p));
@@
-516,10
+498,11
@@
hmalloc(struct passwd *pw)
p->h_shell = getcpy(pw->pw_shell);
p->h_ngrps = 0;
p->h_next = NULL;
p->h_shell = getcpy(pw->pw_shell);
p->h_ngrps = 0;
p->h_next = NULL;
- if (hometail != NULL)
- hometail->h_next = p;
- if (homehead == NULL)
+ /* append to end */
+ if (!homehead)
homehead = p;
homehead = p;
+ if (hometail)
+ hometail->h_next = p;
hometail = p;
return p;
hometail = p;
return p;
@@
-529,28
+512,21
@@
hmalloc(struct passwd *pw)
struct home *
seek_home(char *name)
{
struct home *
seek_home(char *name)
{
- register struct home *hp;
-#ifdef DBMPWD
+ struct home *hp;
struct passwd *pw;
char lname[32];
unsigned char *c;
char *c1;
struct passwd *pw;
char lname[32];
unsigned char *c;
char *c1;
-#else /* DBMPWD */
-
- if (homehead == NULL)
- init_pw();
-#endif /* DBMPWD */
for (hp = homehead; hp; hp = hp->h_next)
if (!mh_strcasecmp(name, hp->h_name))
return hp;
for (hp = homehead; hp; hp = hp->h_next)
if (!mh_strcasecmp(name, hp->h_name))
return hp;
-#ifdef DBMPWD
/*
** The only place where there might be problems.
** This assumes that ALL usernames are kept in lowercase.
*/
/*
** The only place where there might be problems.
** This assumes that ALL usernames are kept in lowercase.
*/
- for (c = name, c1 = lname; *c && (c1 - lname < sizeof(lname) - 1);
+ for (c = name, c1 = lname; *c && (c1 - lname < (int)sizeof(lname) - 1);
c++, c1++) {
if (isalpha(*c) && isupper(*c))
*c1 = tolower(*c);
c++, c1++) {
if (isalpha(*c) && isupper(*c))
*c1 = tolower(*c);
@@
-560,7
+536,6
@@
seek_home(char *name)
*c1 = '\0';
if ((pw = getpwnam(lname)))
return(hmalloc(pw));
*c1 = '\0';
if ((pw = getpwnam(lname)))
return(hmalloc(pw));
-#endif /* DBMPWD */
return NULL;
}
return NULL;
}