+2003-09-04 Ulrich Drepper <drepper@redhat.com>
+
+ * nss/getXXbyYY.c (FUNCTION_NAME): Add a few casts. Remove
+ unnecessary errno handling.
+
+ * nss/getXXbyYY_r.c (INTERNAL): Use better variable name.
+ Initialize it in all cases. Change it to be a bit more like the
+ code we had before.
+
2003-09-04 Jakub Jelinek <jakub@redhat.com>
* libio/fileops.c (_IO_file_read, _IO_new_file_write): Add
-/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001,2003 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
if (buffer == NULL)
{
buffer_size = BUFLEN;
- buffer = malloc (buffer_size);
+ buffer = (char *) malloc (buffer_size);
}
#ifdef HANDLE_DIGITS_DOTS
{
char *new_buf;
buffer_size += BUFLEN;
- new_buf = realloc (buffer, buffer_size);
+ new_buf = (char *) realloc (buffer, buffer_size);
if (new_buf == NULL)
{
/* We are out of memory. Free the current buffer so that the
process gets a chance for a normal termination. */
- save = errno;
free (buffer);
- __set_errno (save);
+ __set_errno (ENOMEM);
}
buffer = new_buf;
}
#ifdef HANDLE_DIGITS_DOTS
done:
#endif
- /* Release lock. Preserve error value. */
- save = errno;
+ /* Release lock. */
__libc_lock_unlock (lock);
- __set_errno (save);
#ifdef NEED_H_ERRNO
if (h_errno_tmp != 0)
POSTPROCESS;
#endif
- int result;
+ int res;
if (status == NSS_STATUS_SUCCESS)
- result = 0;
+ res = 0;
/* Don't pass back ERANGE if this is not for a too-small buffer. */
else if (errno == ERANGE && status != NSS_STATUS_TRYAGAIN)
- {
+ res = EINVAL;
#ifdef NEED_H_ERRNO
- /* These functions only set errno if h_errno is NETDB_INTERNAL. */
- if (*h_errnop != NETDB_INTERNAL)
+ /* These functions only set errno if h_errno is NETDB_INTERNAL. */
+ else if (status == NSS_STATUS_TRYAGAIN && *h_errnop != NETDB_INTERNAL)
+ res = EAGAIN;
#endif
- result = ENOENT;
- }
else
return errno;
- __set_errno (result);
- return result;
+ __set_errno (res);
+ return res;
}