+2000-07-25 Mark Kettenis <kettenis@gnu.org>
+
+ * nss/nss_files/files-netgrp.c (strip_whitespace): New function.
+ (_nss_netgroup_parseline): Use strip_whitespace to strip off any
+ leading and trailing spaces from host, user and domain name.
+
+2000-07-25 Jes Sorensen <jes@linuxcare.com>
+
+ * csu/defs.awk: Add support for need_endp.
+
+2000-07-25 Mark Kettenis <kettenis@gnu.org>
+
+ * resolv/resolv.h: Remove __P from res_send_qhook and
+ res_send_rhook typedefs.
+
+2000-07-25 Bruno Haible <haible@clisp.cons.org>
+
+ * intl/tst-translit.c (main): Unset OUTPUT_CHARSET.
+
2000-07-25 Ulrich Drepper <drepper@redhat.com>
* iconv/gconv_builtin.h: Add WCHAR_T alias.
-/^[ ]*\.end/ { need_end = 1 }
+/^[ ]*\.endp/ { need_endp = 1 }
+/^[ ]*\.end/ { need_end = 1 }
/^[ ]*\.align/ { if($2 > max) max = $2; }
END {
- if(need_end)
+ if(need_endp)
+ {
+ print "#define END_INIT .endp _init";
+ print "#define END_FINI .endp _fini";
+ } else if(need_end)
{
print "#define END_INIT .end _init";
print "#define END_FINI .end _fini";
const char *s;
setenv ("LANGUAGE", "existing-locale", 1);
+ unsetenv ("OUTPUT_CHARSET");
textdomain ("translit");
bindtextdomain ("translit", OBJPFX "domaindir");
/* Includes */
#include <limits.h>
+#include <resolv.h>
#include <setjmp.h>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <bits/libc-tsd.h> /* for _LIBC_TSD_KEY_N */
-#define __RES_PTHREAD_INTERNAL
-#include <resolv.h> /* for per-thread resolver context */
-
-
#include "pt-machine.h"
#include "semaphore.h"
#include "../linuxthreads_db/thread_dbP.h"
#include "spinlock.h"
#include "restart.h"
+/* We need the global/static resolver state here. */
+#include <resolv.h>
+#undef _res
+
+extern struct __res_state _res;
+
/* Sanity check. */
#if __ASSUME_REALTIME_SIGNALS && !defined __SIGRTMIN
# error "This must not happen; new kernel assumed but old headers"
/* Netgroup file parser in nss_files modules.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
return NSS_STATUS_SUCCESS;
}
+static char *
+strip_whitespace (char *str)
+{
+ char *cp = str;
+
+ /* Skip leading spaces. */
+ while (isspace (*cp))
+ cp++;
+
+ str = cp;
+ while (*cp != '\0' && ! isspace(*cp))
+ cp++;
+
+ /* Null-terminate, stripping off any trailing spaces. */
+ *cp = '\0';
+
+ return *str == '\0' ? NULL : str;
+}
enum nss_status
_nss_netgroup_parseline (char **cursor, struct __netgrent *result,
memcpy (buffer, host, cp - host);
result->type = triple_val;
- buffer[(user - host) - 1] = '\0';
- result->val.triple.host = *host == ',' ? NULL : buffer;
+ buffer[(user - host) - 1] = '\0'; /* Replace ',' with '\0'. */
+ result->val.triple.host = strip_whitespace (buffer);
- buffer[(domain - host) - 1] = '\0';
- result->val.triple.user = *user == ',' ? NULL : buffer + (user - host);
+ buffer[(domain - host) - 1] = '\0'; /* Replace ',' with '\0'. */
+ result->val.triple.user = strip_whitespace (buffer + (user - host));
- buffer[(cp - host) - 1] = '\0';
- result->val.triple.domain =
- *domain == ')' ? NULL : buffer + (domain - host);
+ buffer[(cp - host) - 1] = '\0'; /* Replace ')' with '\0'. */
+ result->val.triple.domain = strip_whitespace (buffer + (domain - host));
status = NSS_STATUS_SUCCESS;
typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error }
res_sendhookact;
-typedef res_sendhookact (*res_send_qhook)__P((struct sockaddr_in * const *ns,
- const u_char **query,
- int *querylen,
- u_char *ans,
- int anssiz,
- int *resplen));
+typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *ns,
+ const u_char **query,
+ int *querylen,
+ u_char *ans,
+ int anssiz,
+ int *resplen);
-typedef res_sendhookact (*res_send_rhook)__P((const struct sockaddr_in *ns,
- const u_char *query,
- int querylen,
- u_char *ans,
- int anssiz,
- int *resplen));
+typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *ns,
+ const u_char *query,
+ int querylen,
+ u_char *ans,
+ int anssiz,
+ int *resplen);
struct res_sym {
int number; /* Identifying number, like T_MX */