X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fnames.c;h=082e64954c24bcb8fdeca32d79a92c199b4e3b3e;hb=d3e5bfed13544a1887a99bde4dbb45731c252d7d;hp=0de6a8898a30292e769d94ced9a3ded7a6240326;hpb=c086e08a4bb931721b2bc8db545ecb3eeaa431dd;p=chaz%2Ftar diff --git a/src/names.c b/src/names.c index 0de6a88..082e649 100644 --- a/src/names.c +++ b/src/names.c @@ -22,7 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ * * This file should be modified for non-unix systems to do something * reasonable. - */ + */ #include #include "tar.h" @@ -34,13 +34,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include -static int saveuid = -993; -static char saveuname[TUNMLEN]; -static int my_uid = -993; +static int saveuid = -993; +static char saveuname[TUNMLEN]; +static int my_uid = -993; -static int savegid = -993; -static char savegname[TGNMLEN]; -static int my_gid = -993; +static int savegid = -993; +static char savegname[TGNMLEN]; +static int my_gid = -993; #define myuid ( my_uid < 0? (my_uid = getuid()): my_uid ) #define mygid ( my_gid < 0? (my_gid = getgid()): my_gid ) @@ -54,96 +54,81 @@ static int my_gid = -993; * pages" code, roughly doubling the program size. Thanks guys. */ void -finduname (uname, uid) - char uname[TUNMLEN]; - int uid; +finduname(uname, uid) + char uname[TUNMLEN]; + int uid; { - struct passwd *pw; -#ifndef HAVE_GETPWUID - extern struct passwd *getpwuid (); -#endif - - if (uid != saveuid) - { - saveuid = uid; - saveuname[0] = '\0'; - pw = getpwuid (uid); - if (pw) - strncpy (saveuname, pw->pw_name, TUNMLEN); - } - strncpy (uname, saveuname, TUNMLEN); + struct passwd *pw; + extern struct passwd *getpwuid (); + + if (uid != saveuid) { + saveuid = uid; + saveuname[0] = '\0'; + pw = getpwuid(uid); + if (pw) + strncpy(saveuname, pw->pw_name, TUNMLEN); + } + strncpy(uname, saveuname, TUNMLEN); } int -finduid (uname) - char uname[TUNMLEN]; +finduid(uname) + char uname[TUNMLEN]; { - struct passwd *pw; - extern struct passwd *getpwnam (); - - if (uname[0] != saveuname[0] /* Quick test w/o proc call */ - || 0 != strncmp (uname, saveuname, TUNMLEN)) - { - strncpy (saveuname, uname, TUNMLEN); - pw = getpwnam (uname); - if (pw) - { - saveuid = pw->pw_uid; - } - else - { - saveuid = myuid; + struct passwd *pw; + extern struct passwd *getpwnam(); + + if (uname[0] != saveuname[0] /* Quick test w/o proc call */ + || 0!=strncmp(uname, saveuname, TUNMLEN)) { + strncpy(saveuname, uname, TUNMLEN); + pw = getpwnam(uname); + if (pw) { + saveuid = pw->pw_uid; + } else { + saveuid = myuid; + } } - } - return saveuid; + return saveuid; } void -findgname (gname, gid) - char gname[TGNMLEN]; - int gid; +findgname(gname, gid) + char gname[TGNMLEN]; + int gid; { - struct group *gr; -#ifndef HAVE_GETGRGID - extern struct group *getgrgid (); -#endif - - if (gid != savegid) - { - savegid = gid; - savegname[0] = '\0'; - (void) setgrent (); - gr = getgrgid (gid); - if (gr) - strncpy (savegname, gr->gr_name, TGNMLEN); - } - (void) strncpy (gname, savegname, TGNMLEN); + struct group *gr; + extern struct group *getgrgid (); + + if (gid != savegid) { + savegid = gid; + savegname[0] = '\0'; + (void)setgrent(); + gr = getgrgid(gid); + if (gr) + strncpy(savegname, gr->gr_name, TGNMLEN); + } + (void) strncpy(gname, savegname, TGNMLEN); } int -findgid (gname) - char gname[TUNMLEN]; +findgid(gname) + char gname[TUNMLEN]; { - struct group *gr; - extern struct group *getgrnam (); - - if (gname[0] != savegname[0] /* Quick test w/o proc call */ - || 0 != strncmp (gname, savegname, TUNMLEN)) - { - strncpy (savegname, gname, TUNMLEN); - gr = getgrnam (gname); - if (gr) - { - savegid = gr->gr_gid; + struct group *gr; + extern struct group *getgrnam(); + + if (gname[0] != savegname[0] /* Quick test w/o proc call */ + || 0!=strncmp(gname, savegname, TUNMLEN)) { + strncpy(savegname, gname, TUNMLEN); + gr = getgrnam(gname); + if (gr) { + savegid = gr->gr_gid; + } else { + savegid = mygid; + } } - else - { - savegid = mygid; - } - } - return savegid; + return savegid; } - #endif