diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-08-16 01:33:20 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-08-16 01:33:20 +0000 |
commit | 2de99474c3d4278fb874bbbc12c24c388f786c21 (patch) | |
tree | f0622a362f5ec61739b9e6a8ae25b0e6cdf4fccf /inet/ruserpass.c | |
parent | ad86485dcf2a4391fbc92e2d8f7c8d44d334ff0d (diff) | |
download | glibc-2de99474c3d4278fb874bbbc12c24c388f786c21.tar.gz glibc-2de99474c3d4278fb874bbbc12c24c388f786c21.tar.xz glibc-2de99474c3d4278fb874bbbc12c24c388f786c21.zip |
update from main archive 960815 cvs/libc-960816
Diffstat (limited to 'inet/ruserpass.c')
-rw-r--r-- | inet/ruserpass.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/inet/ruserpass.c b/inet/ruserpass.c index 74727585c8..cff9493b07 100644 --- a/inet/ruserpass.c +++ b/inet/ruserpass.c @@ -38,8 +38,9 @@ static char sccsid[] = "@(#)ruserpass.c 8.3 (Berkeley) 4/2/94"; #include <sys/types.h> #include <sys/stat.h> +#include <assert.h> #include <ctype.h> -/*#include <err.h> */ +#include <err.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> @@ -81,7 +82,7 @@ int ruserpass(host, aname, apass) char *host, **aname, **apass; { - char *hdir, buf[BUFSIZ], *tmp; + char *hdir, *buf, *tmp; char myname[1024], *mydomain; int t, i, c, usedefault = 0; struct stat stb; @@ -89,11 +90,14 @@ ruserpass(host, aname, apass) hdir = getenv("HOME"); if (hdir == NULL) hdir = "."; + + buf = alloca (strlen (hdir) + 8); + (void) sprintf(buf, "%s/.netrc", hdir); cfile = fopen(buf, "r"); if (cfile == NULL) { -/* if (errno != ENOENT) - warn("%s", buf);*/ + if (errno != ENOENT) + warn("%s", buf); return (0); } if (gethostname(myname, sizeof(myname)) < 0) @@ -113,13 +117,13 @@ next: continue; /* * Allow match either for user's input host name - * or official hostname. Also allow match of + * or official hostname. Also allow match of * incompletely-specified host in local domain. */ if (strcasecmp(host, tokval) == 0) goto match; /* if (strcasecmp(hostname, tokval) == 0) - goto match; + goto match; if ((tmp = strchr(hostname, '.')) != NULL && strcasecmp(tmp, mydomain) == 0 && strncasecmp(hostname, tokval, tmp-hostname) == 0 && @@ -137,7 +141,7 @@ next: case LOGIN: if (token()) - if (*aname == 0) { + if (*aname == 0) { *aname = malloc((unsigned) strlen(tokval) + 1); (void) strcpy(*aname, tokval); } else { @@ -149,8 +153,8 @@ next: if (strcmp(*aname, "anonymous") && fstat(fileno(cfile), &stb) >= 0 && (stb.st_mode & 077) != 0) { -/* warnx("Error: .netrc file is readable by others."); - warnx("Remove password or make file unreadable by others.");*/ + warnx(_("Error: .netrc file is readable by others.")); + warnx(_("Remove password or make file unreadable by others.")); goto bad; } if (token() && *apass == 0) { @@ -177,7 +181,7 @@ next: if (proxy) { (void) fclose(cfile); return (0); - } + } while ((c=getc(cfile)) != EOF && c == ' ' || c == '\t'); if (c == EOF || c == '\n') { printf("Missing macdef name argument.\n"); @@ -234,7 +238,7 @@ next: #endif break; default: -/* warnx("Unknown .netrc keyword %s", tokval);*/ + warnx(_("Unknown .netrc keyword %s"), tokval); break; } goto done; |