X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Faliasbr.c;h=07c5e035c8d050e06d8874496958eb3277b1dffe;hp=43a0e1b60e9d24c7e4c73587997106b20a5d6ac5;hb=5b792c4424571f05bc2008e3109797d18d7d00d1;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/uip/aliasbr.c b/uip/aliasbr.c index 43a0e1b..07c5e03 100644 --- a/uip/aliasbr.c +++ b/uip/aliasbr.c @@ -53,9 +53,6 @@ akvalue(char *s) { register char *v; - if (akahead == NULL) - alias(AliasFile); - akvis = -1; v = akval(akahead, s); if (akvis == -1) @@ -137,8 +134,7 @@ alias(char *file) register struct aka *ak = NULL; register FILE *fp; - if (*file != '/' - && (strncmp(file, "./", 2) && strncmp(file, "../", 3))) + if (*file!='/' && (strncmp(file, "./", 2) && strncmp(file, "../", 3))) file = etcpath(file); if ((fp = fopen(file, "r")) == NULL) { akerrst = file; @@ -148,22 +144,22 @@ alias(char *file) while (vfgets(fp, &ap) == OK) { bp = ap; switch (*(pp = scanp(bp))) { - case '<': /* recurse a level */ - if (!*(cp = getp(pp + 1))) { - akerrst = "'<' without alias-file"; - fclose(fp); - return AK_ERROR; - } - if ((i = alias(cp)) != AK_OK) { - fclose(fp); - return i; - } - - case ':': /* comment */ - case ';': - case '#': - case 0: - continue; + case '<': /* recurse a level */ + if (!*(cp = getp(pp + 1))) { + akerrst = "'<' without alias-file"; + fclose(fp); + return AK_ERROR; + } + if ((i = alias(cp)) != AK_OK) { + fclose(fp); + return i; + } + + case ':': /* comment */ + case ';': + case '#': + case 0: + continue; } akerrst = bp; @@ -176,65 +172,65 @@ alias(char *file) return AK_LIMIT; } switch (lc) { - case ':': - ak->ak_visible = 0; - break; + case ':': + ak->ak_visible = 0; + break; - case ';': - ak->ak_visible = 1; - break; + case ';': + ak->ak_visible = 1; + break; - default: - fclose(fp); - return AK_ERROR; + default: + fclose(fp); + return AK_ERROR; } switch (*(pp = scanp(ap))) { - case 0: /* EOL */ + case 0: /* EOL */ + fclose(fp); + return AK_ERROR; + + case '<': /* read values from file */ + if (!*(cp = getp(pp + 1))) { fclose(fp); return AK_ERROR; + } + if (!addfile(ak, cp)) { + fclose(fp); + return AK_NOFILE; + } + break; - case '<': /* read values from file */ - if (!*(cp = getp(pp + 1))) { - fclose(fp); - return AK_ERROR; - } - if (!addfile(ak, cp)) { - fclose(fp); - return AK_NOFILE; - } - break; - - case '=': /* UNIX group */ - if (!*(cp = getp(pp + 1))) { - fclose(fp); - return AK_ERROR; - } - if (!addgroup(ak, cp)) { - fclose(fp); - return AK_NOGROUP; - } - break; + case '=': /* UNIX group */ + if (!*(cp = getp(pp + 1))) { + fclose(fp); + return AK_ERROR; + } + if (!addgroup(ak, cp)) { + fclose(fp); + return AK_NOGROUP; + } + break; - case '+': /* UNIX group members */ - if (!*(cp = getp(pp + 1))) { - fclose(fp); - return AK_ERROR; - } - if (!addmember(ak, cp)) { - fclose(fp); - return AK_NOGROUP; - } - break; + case '+': /* UNIX group members */ + if (!*(cp = getp(pp + 1))) { + fclose(fp); + return AK_ERROR; + } + if (!addmember(ak, cp)) { + fclose(fp); + return AK_NOGROUP; + } + break; - case '*': /* Everyone */ - addall(ak); - break; + case '*': /* Everyone */ + addall(ak); + break; - default: /* list */ - while ((cp = getalias(pp))) - add_aka(ak, cp); - break; + default: /* list */ + while ((cp = getalias(pp))) + add_aka(ak, cp); + break; } } @@ -249,25 +245,29 @@ akerror(int i) static char buffer[BUFSIZ]; switch (i) { - case AK_NOFILE: - snprintf(buffer, sizeof(buffer), "unable to read '%s'", akerrst); - break; - - case AK_ERROR: - snprintf(buffer, sizeof(buffer), "error in line '%s'", akerrst); - break; - - case AK_LIMIT: - snprintf(buffer, sizeof(buffer), "out of memory while on '%s'", akerrst); - break; - - case AK_NOGROUP: - snprintf(buffer, sizeof(buffer), "no such group as '%s'", akerrst); - break; - - default: - snprintf(buffer, sizeof(buffer), "unknown error (%d)", i); - break; + case AK_NOFILE: + snprintf(buffer, sizeof(buffer), "unable to read '%s'", + akerrst); + break; + + case AK_ERROR: + snprintf(buffer, sizeof(buffer), "error in line '%s'", + akerrst); + break; + + case AK_LIMIT: + snprintf(buffer, sizeof(buffer), "out of memory while on '%s'", + akerrst); + break; + + case AK_NOGROUP: + snprintf(buffer, sizeof(buffer), "no such group as '%s'", + akerrst); + break; + + default: + snprintf(buffer, sizeof(buffer), "unknown error (%d)", i); + break; } return buffer;