| version 1.12, 1997/05/17 19:29:18 |
version 1.13, 1997/07/13 19:00:13 |
|
|
| * SUCH DAMAGE. |
* SUCH DAMAGE. |
| */ |
*/ |
| |
|
| |
#include <sys/cdefs.h> |
| #if defined(LIBC_SCCS) && !defined(lint) |
#if defined(LIBC_SCCS) && !defined(lint) |
| #if 0 |
#if 0 |
| static char sccsid[] = "@(#)getcap.c 8.3 (Berkeley) 3/25/94"; |
static char sccsid[] = "@(#)getcap.c 8.3 (Berkeley) 3/25/94"; |
| #else |
#else |
| static char rcsid[] = "$NetBSD$"; |
__RCSID("$NetBSD$"); |
| #endif |
#endif |
| #endif /* LIBC_SCCS and not lint */ |
#endif /* LIBC_SCCS and not lint */ |
| |
|
| Line 198 getent(cap, len, db_array, fd, name, dep |
|
| Line 199 getent(cap, len, db_array, fd, name, dep |
|
| int fd, depth; |
int fd, depth; |
| { |
{ |
| DB *capdbp; |
DB *capdbp; |
| DBT key, data; |
register char *r_end, *rp = NULL, **db_p; /* pacify gcc */ |
| register char *r_end, *rp, **db_p; |
int myfd = 0, eof, foundit, retval, clen; |
| int myfd, eof, foundit, retval, clen; |
|
| char *record, *cbuf; |
char *record, *cbuf; |
| int tc_not_resolved; |
int tc_not_resolved; |
| char pbuf[_POSIX_PATH_MAX]; |
char pbuf[_POSIX_PATH_MAX]; |
| Line 221 getent(cap, len, db_array, fd, name, dep |
|
| Line 221 getent(cap, len, db_array, fd, name, dep |
|
| return (-2); |
return (-2); |
| } |
} |
| (void)strcpy(record, toprec); /* XXX: strcpy is safe */ |
(void)strcpy(record, toprec); /* XXX: strcpy is safe */ |
| myfd = 0; |
|
| db_p = db_array; |
db_p = db_array; |
| rp = record + topreclen + 1; |
rp = record + topreclen + 1; |
| r_end = rp + BFRAG; |
r_end = rp + BFRAG; |
| Line 249 getent(cap, len, db_array, fd, name, dep |
|
| Line 248 getent(cap, len, db_array, fd, name, dep |
|
| |
|
| if (fd >= 0) { |
if (fd >= 0) { |
| (void)lseek(fd, (off_t)0, L_SET); |
(void)lseek(fd, (off_t)0, L_SET); |
| myfd = 0; |
|
| } else { |
} else { |
| (void)snprintf(pbuf, sizeof(pbuf), "%s.db", *db_p); |
(void)snprintf(pbuf, sizeof(pbuf), "%s.db", *db_p); |
| if ((capdbp = dbopen(pbuf, O_RDONLY, 0, DB_HASH, 0)) |
if ((capdbp = dbopen(pbuf, O_RDONLY, 0, DB_HASH, 0)) |
| Line 545 cdbget(capdbp, bp, name) |
|
| Line 543 cdbget(capdbp, bp, name) |
|
| char **bp, *name; |
char **bp, *name; |
| { |
{ |
| DBT key, data; |
DBT key, data; |
| char *buf; |
|
| int st; |
|
| |
|
| key.data = name; |
key.data = name; |
| key.size = strlen(name); |
key.size = strlen(name); |