1*30488Slepreau static char Sccsid[] = "@(#)username.c 1.2 02/15/87"; 230484Slepreau /* 330484Slepreau Gets user's login name. 430484Slepreau Note that the argument must be an integer. 530484Slepreau Returns pointer to login name on success, 630484Slepreau pointer to string representation of used ID on failure. 730484Slepreau 830484Slepreau Remembers user ID and login name for subsequent calls. 930484Slepreau */ 1030484Slepreau username(uid)1130484Slepreauusername(uid) 1230484Slepreau register int uid; 1330484Slepreau { 1430484Slepreau char pw[200]; 1530484Slepreau static int ouid; 1630484Slepreau static char lnam[9], *lptr; 1730484Slepreau register int i; 1830484Slepreau 1930484Slepreau if (ouid!=uid || ouid==0) { 2030484Slepreau if (getpw(uid,pw)) 2130484Slepreau sprintf(lnam,"%d",uid); 2230484Slepreau else { 2330484Slepreau for (i=0; i<8; i++) 2430484Slepreau if ((lnam[i] = pw[i])==':') break; 2530484Slepreau lnam[i] = '\0'; 2630484Slepreau } 2730484Slepreau lptr = lnam; 2830484Slepreau ouid = uid; 2930484Slepreau } 3030484Slepreau return(lptr); 3130484Slepreau } 32