Le 31/05/2010 13:22, Andy Koppe a écrit : <snip>
Posix defines LOGNAME, but regarding USER it only says that it is "unwise to conflict with certain variables that are frequently exported by widely used command interpreters and applications". (http://opengroup.org/onlinepubs/007908799/xbd/envvar.html)
FYI only, in short : historically, USER is the bsd variant of the sysv LOGNAME. long... sunos, login(1) both set USER and LOGNAME using pwd->pw_name also, logname(1) uses cuserid(3) instead of getlogin(3) cuserid(3) does getpwuid(geteuid()) || getlogin() || NULL funny, logname(3) does getenv("LOGNAME") in libxpg ! solaris, login(1) only set LOGNAME logname(1) does getlogin(3) in both case, getlogin(3) does an utmp lookup using a kind of ttyslot() * sizeof(struct utmp) || NULL sys5r4, same as solaris, but getlogin(3) does an utmp lookup using a kind of a while getsid(0) != utmp.ut_pid loop cuserid(3) does a getlogin(3) || getpwuid(getuid()) || NULL irix, login(1) and logname(1) does as sunos getlogin(2) does an utmp lookup using a kind of a while ttyname(0||1||2) == utmp.ut_line cuserid(3) does as sys5r4 osf1, login(1) does as sunos, logname(1) as solaris getlogin(1) does a syscall _getlogin(2) cuserid(3) does as getpwuid(getuid()) || NULL Regards, Cyrille Lefevre -- mailto:cyrille.lefevre-li...@laposte.net -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple