diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
commit | a334319f6530564d22e775935d9c91663623a1b4 (patch) | |
tree | b5877475619e4c938e98757d518bb1e9cbead751 /nis/nss-default.c | |
parent | 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff) | |
download | glibc-a334319f6530564d22e775935d9c91663623a1b4.zip glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.bz2 |
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'nis/nss-default.c')
-rw-r--r-- | nis/nss-default.c | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/nis/nss-default.c b/nis/nss-default.c deleted file mode 100644 index 046ddfe..0000000 --- a/nis/nss-default.c +++ /dev/null @@ -1,127 +0,0 @@ -/* Copyright (C) 1996, 2001, 2004, 2006, 2007 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <ctype.h> -#include <errno.h> -#include <stdio.h> -#include <stdio_ext.h> -#include <stdlib.h> -#include <string.h> -#include <bits/libc-lock.h> - -#include <libnsl.h> - - -/* Path of the file. */ -static const char default_nss[] = "/etc/default/nss"; - -/* Flags once read from the file. */ -static int default_nss_flags; - -/* Code to make sure we call 'init' once. */ -__libc_once_define (static, once); - -/* Table of the recognized variables. */ -static const struct -{ - char name[23]; - unsigned int len; - int flag; -} vars[] = - { -#define STRNLEN(s) s, sizeof (s) - 1 - { STRNLEN ("NETID_AUTHORITATIVE"), NSS_FLAG_NETID_AUTHORITATIVE }, - { STRNLEN ("SERVICES_AUTHORITATIVE"), NSS_FLAG_SERVICES_AUTHORITATIVE }, - { STRNLEN ("SETENT_BATCH_READ"), NSS_FLAG_SETENT_BATCH_READ } - }; -#define nvars (sizeof (vars) / sizeof (vars[0])) - - -static void -init (void) -{ - int saved_errno = errno; - FILE *fp = fopen (default_nss, "rc"); - if (fp != NULL) - { - char *line = NULL; - size_t linelen = 0; - - __fsetlocking (fp, FSETLOCKING_BYCALLER); - - while (!feof_unlocked (fp)) - { - ssize_t n = getline (&line, &linelen, fp); - if (n <= 0) - break; - - /* Recognize only - - <THE-VARIABLE> = TRUE - - with arbitrary white spaces. */ - char *cp = line; - while (isspace (*cp)) - ++cp; - - /* Recognize comment lines. */ - if (*cp == '#') - continue; - - int idx; - for (idx = 0; idx < nvars; ++idx) - if (strncmp (cp, vars[idx].name, vars[idx].len) == 0) - break; - if (idx == nvars) - continue; - - cp += vars[idx].len; - while (isspace (*cp)) - ++cp; - if (*cp++ != '=') - continue; - while (isspace (*cp)) - ++cp; - - if (strncmp (cp, "TRUE", 4) != 0) - continue; - cp += 4; - - while (isspace (*cp)) - ++cp; - - if (*cp == '\0') - default_nss_flags |= vars[idx].flag; - } - - free (line); - - fclose (fp); - } - __set_errno (saved_errno); -} - - -int -_nsl_default_nss (void) -{ - /* If we have not yet read the file yet do it now. */ - __libc_once (once, init); - - return default_nss_flags; -} |