mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Mon Jul 1 12:29:50 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* nss/Makefile (databases): Change host to hosts. * nss/host-lookup.c: Renamed to nss/hosts-lookup.c.
This commit is contained in:
@@ -33,17 +33,31 @@ Cambridge, MA 02139, USA. */
|
||||
|
||||
struct parser_data
|
||||
{
|
||||
struct CONCAT(ENTNAME,_data) entdata;
|
||||
#ifdef ENTDATA
|
||||
struct ENTDATA entdata;
|
||||
#define ENTDATA_DECL(data) struct ENTDATA *const entdata = &data->entdata
|
||||
#else
|
||||
#define ENTDATA_DECL(data)
|
||||
#endif
|
||||
char linebuffer[0];
|
||||
};
|
||||
|
||||
#ifdef ENTDATA
|
||||
/* The function can't be exported, because the entdata structure
|
||||
is defined only in files-foo.c. */
|
||||
#define parser_stclass static inline
|
||||
#else
|
||||
/* Export the line parser function so it can be used in nss_db. */
|
||||
#define parser_stclass /* Global */
|
||||
#define parse_line CONCAT(_nss_files_parse_,ENTNAME)
|
||||
#endif
|
||||
|
||||
#define LINE_PARSER(BODY) \
|
||||
static inline int \
|
||||
parser_stclass int \
|
||||
parse_line (char *line, struct STRUCTURE *result, \
|
||||
struct parser_data *data, int datalen) \
|
||||
{ \
|
||||
struct CONCAT(ENTNAME,_data) *const entdata __attribute__ ((unused)) \
|
||||
= &data->entdata; \
|
||||
ENTDATA_DECL (data); \
|
||||
BODY; \
|
||||
TRAILING_LIST_PARSER; \
|
||||
return 1; \
|
||||
@@ -107,9 +121,10 @@ parse_list (char *line, struct parser_data *data, int datalen)
|
||||
char *eol, **list, **p;
|
||||
|
||||
/* Find the end of the line buffer. */
|
||||
eol = strchr (line, '\0') + 1;
|
||||
eol = strchr (data->linebuffer, '\0') + 1;
|
||||
/* Adjust the pointer so it is aligned for storing pointers. */
|
||||
eol += (eol - (char *) 0) % __alignof__ (char *);
|
||||
eol += __alignof__ (char *) - 1;
|
||||
eol -= (eol - (char *) 0) % __alignof__ (char *);
|
||||
/* We will start the storage here for the vector of pointers. */
|
||||
list = (char **) eol;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user