This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Fri, Sep 29, 2000 at 05:00:18PM +0200, Thorsten Kukuk wrote: > > This is perfectly fine. There is no real need for using size_t. I > > would perhaps just using uint32_t and int32_t instead of introducing > > another type. I'll probably make this change in your patch. > > Otherwise people will ask why such a named type is necessry. > > It is necessary to be binary compatible on Alpha. Or we need to > bump the nscd version number. Here is an updated patch: 2000-09-29 Jakub Jelinek <jakub@redhat.com> * nscd/nscd-client.h (NSCD_VERSION): Bump to 3. Use int32_t where appropriate. * nscd/nscd_gethst_r.c (nscd_gethst_r): Use u_int32_t where appropriate. * nscd/nscd_getgr_r.c (nscd_getgr_r): Likewise. * nscd/hstcache.c (cache_addhst): Likewise. * nscd/grpcache.c (cache_addgr): Likewise. --- libc/nscd/nscd_gethst_r.c.jj Wed May 3 10:19:59 2000 +++ libc/nscd/nscd_gethst_r.c Fri Sep 29 17:10:36 2000 @@ -165,7 +165,7 @@ nscd_gethst_r (const char *key, size_t k if (hst_resp.found == 1) { struct iovec vec[4]; - size_t *aliases_len; + u_int32_t *aliases_len; char *cp = buffer; uintptr_t align1; uintptr_t align2; @@ -206,12 +206,12 @@ nscd_gethst_r (const char *key, size_t k vec[0].iov_base = resultbuf->h_name; vec[0].iov_len = hst_resp.h_name_len; - aliases_len = alloca (hst_resp.h_aliases_cnt * sizeof (size_t)); + aliases_len = alloca (hst_resp.h_aliases_cnt * sizeof (u_int32_t)); vec[1].iov_base = aliases_len; - vec[1].iov_len = hst_resp.h_aliases_cnt * sizeof (size_t); + vec[1].iov_len = hst_resp.h_aliases_cnt * sizeof (u_int32_t); total_len = (hst_resp.h_name_len - + hst_resp.h_aliases_cnt * sizeof (size_t)); + + hst_resp.h_aliases_cnt * sizeof (u_int32_t)); n = 2; if (type == GETHOSTBYADDR || type == GETHOSTBYNAME) --- libc/nscd/hstcache.c.jj Tue Mar 21 11:58:16 2000 +++ libc/nscd/hstcache.c Fri Sep 29 17:10:36 2000 @@ -125,7 +125,7 @@ cache_addhst (struct database *db, int f struct hostdata *data; size_t h_name_len = strlen (hst->h_name) + 1; size_t h_aliases_cnt; - size_t *h_aliases_len; + u_int32_t *h_aliases_len; size_t h_addr_list_cnt; int addr_list_type; char *addresses; @@ -139,7 +139,7 @@ cache_addhst (struct database *db, int f for (cnt = 0; hst->h_aliases[cnt] != NULL; ++cnt) ++h_aliases_cnt; /* Determine the length of all aliases. */ - h_aliases_len = alloca (h_aliases_cnt * sizeof (size_t)); + h_aliases_len = alloca (h_aliases_cnt * sizeof (u_int32_t)); total = 0; for (cnt = 0; cnt < h_aliases_cnt; ++cnt) { @@ -156,7 +156,7 @@ cache_addhst (struct database *db, int f the response header and the dataset itself. */ total += (sizeof (struct hostdata) + h_name_len - + h_aliases_cnt * sizeof (size_t) + + h_aliases_cnt * sizeof (u_int32_t) + h_addr_list_cnt * hst->h_length); data = (struct hostdata *) malloc (total + req->key_len); @@ -175,7 +175,7 @@ cache_addhst (struct database *db, int f cp = data->strdata; cp = mempcpy (cp, hst->h_name, h_name_len); - cp = mempcpy (cp, h_aliases_len, h_aliases_cnt * sizeof (size_t)); + cp = mempcpy (cp, h_aliases_len, h_aliases_cnt * sizeof (u_int32_t)); /* The normal addresses first. */ addresses = cp; --- libc/nscd/grpcache.c.jj Wed May 3 10:19:59 2000 +++ libc/nscd/grpcache.c Fri Sep 29 17:10:36 2000 @@ -117,7 +117,7 @@ cache_addgr (struct database *db, int fd size_t gr_name_len = strlen (grp->gr_name) + 1; size_t gr_passwd_len = strlen (grp->gr_passwd) + 1; size_t gr_mem_cnt = 0; - size_t *gr_mem_len; + u_int32_t *gr_mem_len; size_t gr_mem_len_total = 0; char *gr_name; char *cp; @@ -131,7 +131,7 @@ cache_addgr (struct database *db, int fd /* Determine the length of all members. */ while (grp->gr_mem[gr_mem_cnt]) ++gr_mem_cnt; - gr_mem_len = (size_t *) alloca (gr_mem_cnt * sizeof (size_t)); + gr_mem_len = (u_int32_t *) alloca (gr_mem_cnt * sizeof (nscd_size_t)); for (gr_mem_cnt = 0; grp->gr_mem[gr_mem_cnt]; ++gr_mem_cnt) { gr_mem_len[gr_mem_cnt] = strlen (grp->gr_mem[gr_mem_cnt]) + 1; @@ -141,7 +141,7 @@ cache_addgr (struct database *db, int fd /* We allocate all data in one memory block: the iov vector, the response header and the dataset itself. */ total = (sizeof (struct groupdata) - + gr_mem_cnt * sizeof (size_t) + + gr_mem_cnt * sizeof (u_int32_t) + gr_name_len + gr_passwd_len + gr_mem_len_total); data = (struct groupdata *) malloc (total + n); if (data == NULL) @@ -157,7 +157,7 @@ cache_addgr (struct database *db, int fd cp = data->strdata; /* This is the member string length array. */ - cp = mempcpy (cp, gr_mem_len, gr_mem_cnt * sizeof (size_t)); + cp = mempcpy (cp, gr_mem_len, gr_mem_cnt * sizeof (u_int32_t)); gr_name = cp; cp = mempcpy (cp, grp->gr_name, gr_name_len); cp = mempcpy (cp, grp->gr_passwd, gr_passwd_len); --- libc/nscd/nscd-client.h.jj Mon Sep 27 02:20:13 1999 +++ libc/nscd/nscd-client.h Fri Sep 29 17:11:43 2000 @@ -1,4 +1,4 @@ -/* Copyright (c) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. @@ -24,7 +24,7 @@ #define _NSCD_CLIENT_H 1 /* Version number of the daemon interface */ -#define NSCD_VERSION 2 +#define NSCD_VERSION 3 /* Path of the file where the PID of the running system is stored. */ #define _PATH_NSCDPID "/var/run/nscd.pid" @@ -60,7 +60,7 @@ typedef struct { int version; /* Version number of the daemon interface. */ request_type type; /* Service requested. */ - ssize_t key_len; /* Key length. */ + int32_t key_len; /* Key length. */ } request_header; @@ -68,15 +68,15 @@ typedef struct sent also if the service is disabled or there is no record found. */ typedef struct { - int version; - int found; - ssize_t pw_name_len; - ssize_t pw_passwd_len; + int32_t version; + int32_t found; + int32_t pw_name_len; + int32_t pw_passwd_len; uid_t pw_uid; gid_t pw_gid; - ssize_t pw_gecos_len; - ssize_t pw_dir_len; - ssize_t pw_shell_len; + int32_t pw_gecos_len; + int32_t pw_dir_len; + int32_t pw_shell_len; } pw_response_header; @@ -84,12 +84,12 @@ typedef struct sent also if the service is disabled or there is no record found. */ typedef struct { - int version; - int found; - ssize_t gr_name_len; - ssize_t gr_passwd_len; + int32_t version; + int32_t found; + int32_t gr_name_len; + int32_t gr_passwd_len; gid_t gr_gid; - ssize_t gr_mem_cnt; + int32_t gr_mem_cnt; } gr_response_header; @@ -97,14 +97,14 @@ typedef struct sent also if the service is disabled or there is no record found. */ typedef struct { - int version; - int found; - ssize_t h_name_len; - ssize_t h_aliases_cnt; - int h_addrtype; - int h_length; - ssize_t h_addr_list_cnt; - int error; + int32_t version; + int32_t found; + int32_t h_name_len; + int32_t h_aliases_cnt; + int32_t h_addrtype; + int32_t h_length; + int32_t h_addr_list_cnt; + int32_t error; } hst_response_header; --- libc/nscd/nscd_getgr_r.c.jj Mon Sep 6 01:33:26 1999 +++ libc/nscd/nscd_getgr_r.c Fri Sep 29 17:10:36 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1998. @@ -137,7 +137,7 @@ nscd_getgr_r (const char *key, size_t ke if (gr_resp.found == 1) { - size_t *len; + u_int32_t *len; char *p = buffer; size_t total_len; uintptr_t align; @@ -172,9 +172,9 @@ nscd_getgr_r (const char *key, size_t ke resultbuf->gr_gid = gr_resp.gr_gid; /* Allocate array to store lengths. */ - len = alloca (gr_resp.gr_mem_cnt * sizeof (size_t)); + len = alloca (gr_resp.gr_mem_cnt * sizeof (u_int32_t)); - total_len = gr_resp.gr_mem_cnt * sizeof (size_t); + total_len = gr_resp.gr_mem_cnt * sizeof (u_int32_t); vec[0].iov_base = len; vec[0].iov_len = total_len; vec[1].iov_base = resultbuf->gr_name; Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |