1*3e12c5d1SDavid du Colombier #include <unistd.h> 2*3e12c5d1SDavid du Colombier #include <stdio.h> 3*3e12c5d1SDavid du Colombier #include <string.h> 4*3e12c5d1SDavid du Colombier 5*3e12c5d1SDavid du Colombier /* 6*3e12c5d1SDavid du Colombier * BUG: supposed to be for effective uid, 7*3e12c5d1SDavid du Colombier * but plan9 doesn't have that concept 8*3e12c5d1SDavid du Colombier */ 9*3e12c5d1SDavid du Colombier char * cuserid(char * s)10*3e12c5d1SDavid du Colombiercuserid(char *s) 11*3e12c5d1SDavid du Colombier { 12*3e12c5d1SDavid du Colombier char *logname; 13*3e12c5d1SDavid du Colombier static char buf[L_cuserid]; 14*3e12c5d1SDavid du Colombier 15*3e12c5d1SDavid du Colombier if((logname = getlogin()) == NULL) 16*3e12c5d1SDavid du Colombier return(NULL); 17*3e12c5d1SDavid du Colombier if(s == 0) 18*3e12c5d1SDavid du Colombier s = buf; 19*3e12c5d1SDavid du Colombier strncpy(s, logname, sizeof buf); 20*3e12c5d1SDavid du Colombier return(s); 21*3e12c5d1SDavid du Colombier } 22