GRASS Programmer's Manual 6.4.1(2011)
|
00001 00017 #include <unistd.h> 00018 #include <stdlib.h> 00019 00020 #ifndef __MINGW32__ 00021 #include <pwd.h> 00022 #endif 00023 00024 #include <grass/gis.h> 00025 00026 00040 char *G_whoami(void) 00041 { 00042 #ifdef __MINGW32__ 00043 char *name = getenv("USERNAME"); 00044 00045 if (name == NULL) { 00046 name = "user_name"; 00047 } 00048 #else 00049 static char *name = NULL; 00050 00051 #ifdef COMMENTED_OUT 00052 char *getlogin(); 00053 char *ttyname(); 00054 00055 if (name == NULL) { 00056 char *x; 00057 00058 x = ttyname(0); 00059 if (x && *x) { 00060 x = getlogin(); 00061 if (x && *x) 00062 name = G_store(x); 00063 } 00064 } 00065 #endif /* COMMENTED_OUT */ 00066 00067 if (name == NULL) { 00068 struct passwd *p; 00069 00070 if ((p = getpwuid(getuid()))) 00071 name = G_store(p->pw_name); 00072 } 00073 if (name == NULL) 00074 name = G_store("?"); 00075 00076 #endif 00077 00078 return name; 00079 }