mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-22 21:35:44 +08:00
2010-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/getlogin.c: Formatting. Add EFAULT. * libcsupport/src/termios.c: Formatting.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2010-07-05 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libcsupport/src/getlogin.c: Formatting. Add EFAULT.
|
||||
* libcsupport/src/termios.c: Formatting.
|
||||
|
||||
2010-07-04 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libblock/include/rtems/ide_part_table.h, libblock/src/bdbuf.c,
|
||||
|
||||
@@ -19,46 +19,40 @@
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
/*
|
||||
* 4.2.4 Get User Name, P1003.1b-1993, p. 87
|
||||
*
|
||||
* NOTE: P1003.1c/D10, p. 49 adds getlogin_r().
|
||||
*/
|
||||
|
||||
/*
|
||||
* MACRO in userenv.h
|
||||
*
|
||||
static char _POSIX_types_Getlogin_buffer[ LOGIN_NAME_MAX ];
|
||||
*/
|
||||
|
||||
char *getlogin( void )
|
||||
{
|
||||
(void) getlogin_r( _POSIX_types_Getlogin_buffer, LOGIN_NAME_MAX );
|
||||
return _POSIX_types_Getlogin_buffer;
|
||||
}
|
||||
|
||||
/*PAGE
|
||||
*
|
||||
/*
|
||||
* 4.2.4 Get User Name, P1003.1b-1993, p. 87
|
||||
*
|
||||
* NOTE: P1003.1c/D10, p. 49 adds getlogin_r().
|
||||
*/
|
||||
|
||||
int getlogin_r(
|
||||
char *name,
|
||||
size_t namesize
|
||||
)
|
||||
{
|
||||
struct passwd *pw;
|
||||
|
||||
if ( !name )
|
||||
return EFAULT;
|
||||
|
||||
if ( namesize < LOGIN_NAME_MAX )
|
||||
return ERANGE;
|
||||
|
||||
pw=getpwuid(getuid());
|
||||
if (!pw) {
|
||||
strcpy(name,"");
|
||||
pw = getpwuid(getuid());
|
||||
if ( !pw ) {
|
||||
strcpy( name, "" );
|
||||
} else {
|
||||
strncpy(name,pw->pw_name,LOGIN_NAME_MAX);
|
||||
};
|
||||
strncpy( name, pw->pw_name, LOGIN_NAME_MAX );
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
+127
-150
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user