source: rtems/c/src/exec/posix/src/getlogin.c @ aaf6063

4.104.114.84.95
Last change on this file since aaf6063 was aaf6063, checked in by Joel Sherrill <joel.sherrill@…>, on 05/24/01 at 21:38:10

2000-05-24 Fernando Ruiz Casas <fernando.ruiz@…>

  • src/getegid.c, src/geteuid.c, src/getgid.c, src/getlogin.c, src/getuid.c: Now save their values in private user environment.
  • Property mode set to 100644
File size: 1.0 KB
Line 
1/*
2 *  $Id$
3 */
4
5#if HAVE_CONFIG_H
6#include "config.h"
7#endif
8
9#include <limits.h>
10#include <errno.h>
11#include <string.h>
12#include <sys/types.h>
13
14#include <rtems/system.h>
15#include <rtems/score/object.h>
16#include <rtems/seterr.h>
17
18#include <rtems/libio_.h>
19#include <string.h>
20#include <unistd.h>
21#include <pwd.h>
22
23/*PAGE
24 *
25 *  4.2.4 Get User Name, P1003.1b-1993, p. 87
26 *
27 *  NOTE:  P1003.1c/D10, p. 49 adds getlogin_r().
28 */
29
30/*
31 * MACRO in libio_.h
32 *
33static char _POSIX_types_Getlogin_buffer[ LOGIN_NAME_MAX ];
34*/
35
36char *getlogin( void )
37{
38  (void) getlogin_r( _POSIX_types_Getlogin_buffer, LOGIN_NAME_MAX );
39  return _POSIX_types_Getlogin_buffer;
40}
41
42/*PAGE
43 *
44 *  4.2.4 Get User Name, P1003.1b-1993, p. 87
45 *
46 *  NOTE:  P1003.1c/D10, p. 49 adds getlogin_r().
47 */
48
49int getlogin_r(
50  char   *name,
51  size_t  namesize
52)
53{
54  struct passwd *pw;   
55  if ( namesize < LOGIN_NAME_MAX )
56    return ERANGE;
57
58  pw=getpwuid(getuid());
59  if (!pw) {
60   strcpy(name,"");
61  } else {
62   strncpy(name,pw->pw_name,LOGIN_NAME_MAX);
63  };
64  return 0;
65}
Note: See TracBrowser for help on using the repository browser.