/* ******************************************************************************* * Copyright (c) 1996 Martin Poole * ******************************************************************************* ** ** WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! ** ** Any changes to be made to this file should first be checked with ** mplib1 source control for library integrity. ** ** mplib1 source control can be reached at mplib1@quatermass.co.uk ** * * * $Source: /home/cvs/cvsroot/onelan/onelan/src/mplib1/libsrc/get_uname.c,v $ * $Author: mpoole $ * $Date: 2002/10/07 09:37:39 $ * $Revision: 1.2 $ * * ******************************************************************************* * * * $Log: get_uname.c,v $ * Revision 1.2 2002/10/07 09:37:39 mpoole * Initial checkin of mplib1-3.1.0 * * Revision 1.1 2002/10/07 09:36:56 mpoole * Initial checkin of mplib1-3.1.0 * * ******************************************************************************* */ /* ------------------------------------------------------------------ Include files ------------------------------------------------------------------ */ #include #include #include #include #include #include #include #include #include #include #include #include #include /* ------------------------------------------------------------------ defines ------------------------------------------------------------------ */ static char unknown[]="UNKNOWN"; static char *me_name=NULL; /* ------------------------------------------------------------------ Code starts here ------------------------------------------------------------------ */ char * get_my_uname( void ) { struct passwd *pwd; if (me_name==NULL) { pwd = getpwuid(getuid()); if (pwd) { me_name = strdup( pwd->pw_name ); }else { me_name = malloc( PID_STR_LEN + 2 ); if (me_name) sprintf( me_name, "[%d]", (int)getuid() ); } if (me_name==NULL) me_name = unknown; } return(me_name); } /* -- End of File -- */