projects
/
pspp
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c180b24
)
(getlogin_r): Don't set errno to 0 on return.
author
Paul Eggert
<eggert@cs.ucla.edu>
Sat, 28 May 2005 06:11:39 +0000
(06:11 +0000)
committer
Paul Eggert
<eggert@cs.ucla.edu>
Sat, 28 May 2005 06:11:39 +0000
(06:11 +0000)
lib/getlogin_r.c
patch
|
blob
|
history
diff --git
a/lib/getlogin_r.c
b/lib/getlogin_r.c
index c02db2fe6559e8370c3f126ed931cc4bb13eacde..d269b92238c25b090669c731c0f39a3fffe94ca5 100644
(file)
--- a/
lib/getlogin_r.c
+++ b/
lib/getlogin_r.c
@@
-44,8
+44,15
@@
getlogin_r (char *name, size_t size)
errno = 0;
n = getlogin ();
+
+ /* A system function like getlogin_r is never supposed to set errno
+ to zero, so make sure errno is nonzero here. ENOENT is a
+ reasonable errno value if getlogin returns NULL. */
+ if (!errno)
+ errno = ENOENT;
+
if (!n)
- return errno
? errno : ENOENT
;
+ return errno;
nlen = strlen (n);
if (size <= nlen)
return ERANGE;