This is the mail archive of the libc-hacker@sourceware.cygnus.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]

Re: Why this strange change?


>>>>> Andreas Jaeger writes:

>>>>> Ulrich Drepper writes:
Uli> "David S. Miller" <davem@redhat.com> writes:
>>> I agree that this is completely broken too, broken in the fact that so
>>> many applications will now break, so at the very least increment the
>>> version number of these symbols for backwards compatability sake if
>>> silly nonsense changes like this are going to be made.

Uli> Only broken applications will break.  On the other hand, applications
Uli> which work correctly on other platforms wouldn't work.

Andreas> In that case glibc is a broken "application".  Check the usage of the
Andreas> different get{hst,pwnam,...}_r functions in (I just did a quick grep,
Andreas> I'm sure I've missed some):
Andreas> - sysdeps/generic/glob.c
Andreas> - inet/rcmd.c
Andreas> - inet/rexec.c
Andreas> - pwd/getpw.c
Andreas> - the sunrpc code (clnt_gen.c, clnt_simp.c, getrpcport.c)
Andreas> - sysdeps/unix/sysv/linux/gethostid.c
And I've added some that are ok - glob.c and getpw.c are ok.

Andreas> Sorry, no patches this time.

Just a question for clarification:  gethostid has the following loop:
while (__gethostbyname_r (hostname, &hostbuf, buffer, buflen, &hp, &herr)
	 < 0)
    if (herr != NETDB_INTERNAL || errno != ERANGE)

which isn't correct - but does __gethostbyname_r really set errno?
The manual doesn't indicate so.

Shouldn't this be rewritten to:

    int res;
while ( (res = __gethostbyname_r (hostname, &hostbuf, buffer, buflen, &hp, &herr))
	 != 0)
    if (herr != NETDB_INTERNAL || res != ERANGE)

Andreas
-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@aixd1.rhrk.uni-kl.de

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]