mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
* nss/nss_files/files-network.c: Pass empty for new DB_LOOKUP args.
(DATABASE): Define this instead of DATAFILE. * nss/nss_files/files-hosts.c: Likewise. (hostbyname): Use LOOKUP_NAME macro. * nss/nss_db/db-XXX.c: New file. * nss/Makefile (services): Add db. (libnss_db-inhibit-o): New variable. (libnss_db-routines): New variable. (distribute): Append db-XXX.c. (libnss_db.so): Depend on libdb.so and libnss_files.so. ($(libnss_db-routines:%=$(objpfx)%.c)): New static pattern rule. * nss/nss_files/files-XXX.c (DB_LOOKUP): Add KEYSIZE and KEYPATTERN args, ignored. (DATAFILE): New macro. * nss/nss_files/files-parse.c (GENERIC): If undefined, define to "files-XXX.c". * nss/nss_files/files-rpc.c: Include GENERIC instead of "files-XXX.c". Pass db key args to DB_LOOKUP. (DATAFILE): Macro removed. (DATABASE): New macro replaces it, lacks "/etc/" prefix. * nss/nss_files/files-service.c: Likewise. * nss/nss_files/files-pwd.c: Likewise. * nss/nss_files/files-proto.c: Likewise. * nss/nss_files/files-grp.c: Likewise. * nss/nss_files/files-ethers.c: Likewise. * elf/linux-compat.c: File removed. * elf/Makefile (distribute): Remove linux-compat.c. (ld-linux.so.1): Remove target and associated variables. * sunrpc/xdr.c: Remove malloc decl. * sunrpc/portmap.c: Likewise. * sunrpc/svc_tcp.c (abort): Don't declare. Instead define as macro casting abort to fn returning bool_t. * nss/nss_files/files-parse.c [EXTERN_PARSER]: Do an extern decl of the parser function. [EXTERN_PARSER] (LINE_PARSER): Define to empty. * nss/nss_files/files-pwd.c (EXTERN_PARSER): Define it. * nss/nss_files/files-grp.c: Likewise. * Makeconfig (BUILD_CC): If undefined, define to $(CC). * sunrpc/rpc/types.h: Include stdlib.h instead of declaring malloc. * Makeconfig (built-program-cmd): Use $(rtld-installed-name) in place of ld.so so lookups for that soname find it. * nss/Makefile (libnss_dns.so): Depend on libresolv.so. (resobjdir, LDLIBS-nss_dns.so): Variables removed.
This commit is contained in:
@@ -27,13 +27,15 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
ENTNAME -- database name of the structure and functions (hostent, pwent).
|
||||
STRUCTURE -- struct name, define only if not ENTNAME (passwd, group).
|
||||
DATAFILE -- string of the database file's name.
|
||||
DATABASE -- string of the database file's name ("hosts", "passwd").
|
||||
|
||||
NEED_H_ERRNO - defined iff an arg `int *herrnop' is used.
|
||||
MIDLINE_COMMENTS - defined iff # before \n terminates a database line.
|
||||
*/
|
||||
|
||||
#define ENTNAME_r CONCAT(ENTNAME,_r)
|
||||
#define ENTNAME_r CONCAT(ENTNAME,_r)
|
||||
|
||||
#define DATAFILE "/etc/" DATABASE
|
||||
|
||||
#ifdef NEED_H_ERRNO
|
||||
#define H_ERRNO_PROTO , int *herrnop
|
||||
@@ -194,13 +196,15 @@ CONCAT(_nss_files_get,ENTNAME_r) (struct STRUCTURE *result,
|
||||
|
||||
NAME is the name of the lookup; e.g. `hostbyname'.
|
||||
|
||||
KEYSIZE and KEYPATTERN are ignored here but used by ../nss_db/db-XXX.c.
|
||||
|
||||
PROTO describes the arguments for the lookup key;
|
||||
e.g. `const char *hostname'.
|
||||
|
||||
BREAK_IF_MATCH is a block of code which compares `struct STRUCTURE *result'
|
||||
to the lookup key arguments and does `break;' if they match. */
|
||||
|
||||
#define DB_LOOKUP(name, break_if_match, proto...) \
|
||||
#define DB_LOOKUP(name, keysize, keypattern, break_if_match, proto...) \
|
||||
enum nss_status \
|
||||
_nss_files_get##name##_r (proto, \
|
||||
struct STRUCTURE *result, \
|
||||
|
Reference in New Issue
Block a user