Annotation of 43BSD/ucb/Mail/getname.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char *sccsid = "@(#)getname.c   5.2 (Berkeley) 6/21/85";
                      9: #endif not lint
                     10: 
                     11: #include <pwd.h>
                     12: 
                     13: /*
                     14:  * Getname / getuserid for those with
                     15:  * hashed passwd data base).
                     16:  *
                     17:  */
                     18: 
                     19: #include "rcv.h"
                     20: 
                     21: /*
                     22:  * Search the passwd file for a uid.  Return name through ref parameter
                     23:  * if found, indicating success with 0 return.  Return -1 on error.
                     24:  * If -1 is passed as the user id, close the passwd file.
                     25:  */
                     26: 
                     27: getname(uid, namebuf)
                     28:        char namebuf[];
                     29: {
                     30:        struct passwd *pw;
                     31: 
                     32:        if (uid == -1) {
                     33:                return(0);
                     34:        }
                     35:        if ((pw = getpwuid(uid)) == NULL)
                     36:                return(-1);
                     37:        strcpy(namebuf, pw->pw_name);
                     38:        return 0;
                     39: }
                     40: 
                     41: /*
                     42:  * Convert the passed name to a user id and return it.  Return -1
                     43:  * on error.  Iff the name passed is -1 (yech) close the pwfile.
                     44:  */
                     45: 
                     46: getuserid(name)
                     47:        char name[];
                     48: {
                     49:        struct passwd *pw;
                     50: 
                     51:        if (name == (char *) -1) {
                     52:                return(0);
                     53:        }
                     54:        if ((pw = getpwnam(name)) == NULL)
                     55:                return 0;
                     56:        return pw->pw_uid;
                     57: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.