[issue393] confstr() should return 0, not -1, on errors

Guy Harris issues at chlamydia.fs.ei.tum.de
Mon Dec 4 11:21:33 PST 2006


Guy Harris <guy at alum.mit.edu> added the comment:

Not with top-of-tree FreeBSD, it isn't - the top-of-tree FreeBSD code 
returns 0:

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/gen/confstr.c?rev=1.9&content-type=text/x-cvsweb-markup

The documentation, until recently, said it returned -1, but I filed a 
bug about that:

    http://www.freebsd.org/cgi/query-pr.cgi?pr=docs/106234

and it was recently fixed:

http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/gen/confstr.3.diff?r1=1.13&r2=1.14

As for NetBSD, I filed a bug on the code:

    http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=35170

which is now closed - they changed the code and the man page.

Similar changes were made to OpenBSD in response to bug mail I sent:

http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/confstr.c.diff?r1=1.7&r2=1.8

http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/confstr.3.diff?r1=1.14&r2=1.15

so DragonFly is now inconsistent with the top of the tree of FreeBSD, 
NetBSD, and OpenBSD, and its code is inconsistent with the 5.x and 6.x 
releases of FreeBSD.
> I don't have
> a reference to POSIX.2 to verify the original specification.
>   
Perhaps POSIX.2 said it returned -1 (I think my POSIX.2 is at work), but 
what counts now is the Single UNIX Specification, and, as per the URL I 
think I sent in my mail:

    http://www.opengroup.org/onlinepubs/009695399/functions/confstr.html

it says it returns 0 on errors.

_______________________________________________________
DragonFly issue tracker <issues at chlamydia.fs.ei.tum.de>
<http://bugs.dragonflybsd.org/issue393>
_______________________________________________________






More information about the Bugs mailing list