This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi,
The Single UNIX Specification V2 (SUSv2) says about cuserid:
If s is not a null pointer, s is returned. If s is not a null
pointer and the login name cannot be found, the null byte '\0'
will be placed at *s.
If the login name cannot be found, we always return NULL, even if
the user supplied an own buffer. Here is a patch to fix this
(passes now the LSB.os tests for cuserid)
Thorsten
2001-12-13 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/posix/cuserid.c(cuserid): If we don't find the UID,
but have a user supplied buffer, return the empty buffer, not NULL.
--- glibc-2.2/sysdeps/posix/cuserid.c 2001/12/10 16:39:59 1.1
+++ glibc-2.2/sysdeps/posix/cuserid.c 2001/12/10 16:41:08
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1998, 1999, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -38,8 +38,12 @@
|| pwptr == NULL)
{
if (s != NULL)
- s[0] = '\0';
- return NULL;
+ {
+ s[0] = '\0';
+ return s;
+ }
+ else
+ return NULL;
}
if (s == NULL)
--
Thorsten Kukuk http://www.suse.de/~kukuk/ kukuk@suse.de
SuSE GmbH Deutschherrenstr. 15-19 D-90429 Nuernberg
--------------------------------------------------------------------
Key fingerprint = A368 676B 5E1B 3E46 CFCE 2D97 F8FD 4E23 56C6 FB4B
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |