- Timestamp:
- Jul 1, 2005, 5:59:56 AM (20 years ago)
- Location:
- trunk/src/emx
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/include/unistd.h
-
Property cvs2svn:cvs-rev
changed from
1.30
to1.31
r2132 r2133 413 413 414 414 #if __POSIX_VISIBLE >= 199506 415 /** @todo int getlogin_r(char *, int); */ 415 int getlogin_r(char *, int); 416 416 #endif 417 417 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/libc.def
-
Property cvs2svn:cvs-rev
changed from
1.123
to1.124
r2132 r2133 1752 1752 "__std_getdelim" @1753 1753 1753 "__std_getline" @1754 1754 "__std_getlogin_r" @1755 -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/cuserid.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r2132 r2133 3 3 #include "libc-alias.h" 4 4 #include <stdio.h> 5 #include < stdlib.h>6 #include < string.h>5 #include <unistd.h> 6 #include <unistd.h> 7 7 8 char *_STD(cuserid) (char *buffer)8 char *_STD(cuserid)(char *string) 9 9 { 10 static char tmp_name[L_cuserid]; 11 const char *name; 10 static char s_sz[L_cuserid]; 11 if (!string) 12 string = s_sz; 13 /** @todo this is wrong, it may be a different user! s*/ 14 if (!getlogin_r(string, L_cuserid)) 15 return string; 16 return NULL; 17 } 12 18 13 name = getenv ("LOGNAME");14 if (name == NULL)15 name = getenv ("USER");16 if (name == NULL)17 name = "root";18 if (buffer == NULL)19 buffer = tmp_name;20 _strncpy (buffer, name, L_cuserid);21 return buffer;22 } -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/lib/misc/getlogin.c
-
Property cvs2svn:cvs-rev
changed from
1.4
to1.5
r2132 r2133 6 6 #include <string.h> 7 7 #include <unistd.h> 8 #include <errno.h> 8 9 9 char *_STD(getlogin) 10 char *_STD(getlogin)(void) 10 11 { 11 static char tmp_name[L_cuserid]; 12 const char *name; 12 static char tmp_name[L_cuserid]; 13 if (!getlogin_r(tmp_name, sizeof(tmp_name))) 14 return tmp_name; 15 return NULL; 16 } 13 17 14 name = getenv ("LOGNAME"); 15 if (name == NULL) 16 name = getenv ("USER"); 17 if (name == NULL) 18 name = "root"; 19 _strncpy (tmp_name, name, sizeof (tmp_name)); 20 return tmp_name; 18 int _STD(getlogin_r)(char *buf, int size) 19 { 20 if (size >= 0) 21 { 22 /** @todo this isn't correct, use the uid stuff in SPM */ 23 const char *pszName = getenv("LOGNAME"); 24 if (!pszName) 25 pszName = getenv("USER"); 26 if (!pszName) 27 pszName = "root"; 28 int cchName = strlen(pszName); 29 if (cchName <= size) 30 { 31 memcpy(buf, pszName, cchName + 1); 32 return 0; 33 } 34 memcpy(buf, pszName, --size); 35 buf[size] = '\0'; 36 } 37 errno = ERANGE; 38 return -1; 21 39 } 40 -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.