[BACK]Return to getcap.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / gen

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/gen/getcap.c between version 1.29 and 1.30

version 1.29, 1999/03/29 09:27:29 version 1.30, 1999/09/16 11:44:57
Line 47  __RCSID("$NetBSD$");
Line 47  __RCSID("$NetBSD$");
   
 #include "namespace.h"  #include "namespace.h"
 #include <sys/types.h>  #include <sys/types.h>
   
   #include <assert.h>
 #include <ctype.h>  #include <ctype.h>
 #include <db.h>  #include <db.h>
 #include <errno.h>  #include <errno.h>
Line 156  cgetcap(buf, cap, type)
Line 158  cgetcap(buf, cap, type)
         char *bp;          char *bp;
         const char *cp;          const char *cp;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(cap != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || cap == NULL)
                   return (NULL);
   #endif
   
         bp = buf;          bp = buf;
         for (;;) {          for (;;) {
                 /*                  /*
Line 208  cgetent(buf, db_array, name)
Line 217  cgetent(buf, db_array, name)
 {  {
         size_t dummy;          size_t dummy;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(db_array != NULL);
           _DIAGASSERT(name != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || db_array == NULL || name == NULL) {
                   errno = EFAULT;
                   return (-2);
           }
   #endif
   
         return (getent(buf, &dummy, db_array, -1, name, 0, NULL));          return (getent(buf, &dummy, db_array, -1, name, 0, NULL));
 }  }
   
Line 244  getent(cap, len, db_array, fd, name, dep
Line 263  getent(cap, len, db_array, fd, name, dep
         int tc_not_resolved;          int tc_not_resolved;
         char pbuf[_POSIX_PATH_MAX];          char pbuf[_POSIX_PATH_MAX];
   
           _DIAGASSERT(cap != NULL);
           _DIAGASSERT(len != NULL);
           _DIAGASSERT(db_array != NULL);
           /* fd may be -1 */
           _DIAGASSERT(name != NULL);
           /* nfield may be NULL */
   
         /*          /*
          * Return with ``loop detected'' error if we've recursed more than           * Return with ``loop detected'' error if we've recursed more than
          * MAX_RECURSION times.           * MAX_RECURSION times.
Line 303  getent(cap, len, db_array, fd, name, dep
Line 329  getent(cap, len, db_array, fd, name, dep
                                 cbuf = malloc(clen + 1);                                  cbuf = malloc(clen + 1);
                                 memmove(cbuf, record, clen + 1);                                  memmove(cbuf, record, clen + 1);
                                 if (capdbp->close(capdbp) < 0) {                                  if (capdbp->close(capdbp) < 0) {
                                           int serrno = errno;
   
                                         free(cbuf);                                          free(cbuf);
                                           errno = serrno;
                                         return (-2);                                          return (-2);
                                 }                                  }
                                 *len = clen;                                  *len = clen;
Line 355  getent(cap, len, db_array, fd, name, dep
Line 384  getent(cap, len, db_array, fd, name, dep
                                                 if (myfd)                                                  if (myfd)
                                                         (void)close(fd);                                                          (void)close(fd);
                                                 if (n < 0) {                                                  if (n < 0) {
                                                           int serrno = errno;
   
                                                         free(record);                                                          free(record);
                                                           errno = serrno;
                                                         return (-2);                                                          return (-2);
                                                 } else {                                                  } else {
                                                         fd = -1;                                                          fd = -1;
Line 415  getent(cap, len, db_array, fd, name, dep
Line 447  getent(cap, len, db_array, fd, name, dep
                                         newsize = r_end - record + BFRAG;                                          newsize = r_end - record + BFRAG;
                                         record = realloc(record, newsize);                                          record = realloc(record, newsize);
                                         if (record == NULL) {                                          if (record == NULL) {
                                                 errno = ENOMEM;  
                                                 if (myfd)                                                  if (myfd)
                                                         (void)close(fd);                                                          (void)close(fd);
                                                   errno = ENOMEM;
                                                 return (-2);                                                  return (-2);
                                         }                                          }
                                         r_end = record + newsize;                                          r_end = record + newsize;
Line 557  tc_exp: {
Line 589  tc_exp: {
                                 tcposend = tcend - record;                                  tcposend = tcend - record;
                                 record = realloc(record, newsize);                                  record = realloc(record, newsize);
                                 if (record == NULL) {                                  if (record == NULL) {
                                         errno = ENOMEM;  
                                         if (myfd)                                          if (myfd)
                                                 (void)close(fd);                                                  (void)close(fd);
                                         free(icap);                                          free(icap);
                                           errno = ENOMEM;
                                         return (-2);                                          return (-2);
                                 }                                  }
                                 r_end = record + newsize;                                  r_end = record + newsize;
Line 615  cdbget(capdbp, bp, name)
Line 647  cdbget(capdbp, bp, name)
         DBT key;          DBT key;
         DBT data;          DBT data;
   
           _DIAGASSERT(capdbp != NULL);
           _DIAGASSERT(bp != NULL);
           _DIAGASSERT(name != NULL);
   
         /* LINTED key is not modified */          /* LINTED key is not modified */
         key.data = (char *)name;          key.data = (char *)name;
         key.size = strlen(name);          key.size = strlen(name);
Line 650  cgetmatch(buf, name)
Line 686  cgetmatch(buf, name)
 {  {
         const char *np, *bp;          const char *np, *bp;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(name != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || name == NULL)
                   return (-1);
   #endif
   
         /*          /*
          * Start search at beginning of record.           * Start search at beginning of record.
          */           */
Line 686  int
Line 729  int
 cgetfirst(buf, db_array)  cgetfirst(buf, db_array)
         char **buf, **db_array;          char **buf, **db_array;
 {  {
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(db_array != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || db_array == NULL) {
                   errno = EFAULT;
                   return (-2);
           }
   #endif
   
         (void)cgetclose();          (void)cgetclose();
         return (cgetnext(buf, db_array));          return (cgetnext(buf, db_array));
 }  }
Line 722  cgetnext(bp, db_array)
Line 775  cgetnext(bp, db_array)
         char *cp, *line, *rp, *np, buf[BSIZE], nbuf[BSIZE];          char *cp, *line, *rp, *np, buf[BSIZE], nbuf[BSIZE];
         size_t dummy;          size_t dummy;
   
           _DIAGASSERT(bp != NULL);
           _DIAGASSERT(db_array != NULL);
   #ifdef _DIAGNOSTIC
           if (bp == NULL || db_array == NULL) {
                   errno = EFAULT;
                   return (-2);
           }
   #endif
   
         if (dbp == NULL)          if (dbp == NULL)
                 dbp = db_array;                  dbp = db_array;
   
Line 853  cgetstr(buf, cap, str)
Line 915  cgetstr(buf, cap, str)
         int len;          int len;
         char *mem;          char *mem;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(cap != NULL);
           _DIAGASSERT(str != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || cap == NULL || str == NULL) {
                   errno = EFAULT;
                   return (-2);
           }
   #endif
   
         /*          /*
          * Find string capability cap           * Find string capability cap
          */           */
Line 980  cgetustr(buf, cap, str)
Line 1052  cgetustr(buf, cap, str)
         int len;          int len;
         char *mem;          char *mem;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(cap != NULL);
           _DIAGASSERT(str != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || cap == NULL || str == NULL) {
                   errno = EFAULT;
                   return (-2);
           }
   #endif
   
         /*          /*
          * Find string capability cap           * Find string capability cap
          */           */
Line 1050  cgetnum(buf, cap, num)
Line 1132  cgetnum(buf, cap, num)
         int base, digit;          int base, digit;
         const char *bp;          const char *bp;
   
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(cap != NULL);
           _DIAGASSERT(num != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || cap == NULL || num == NULL)
                   return (-1);
   #endif
   
         /*          /*
          * Find numeric capability cap           * Find numeric capability cap
          */           */
Line 1111  nfcmp(nf, rec)
Line 1201  nfcmp(nf, rec)
 {  {
         char *cp, tmp;          char *cp, tmp;
         int ret;          int ret;
   
           _DIAGASSERT(nf != NULL);
           _DIAGASSERT(rec != NULL);
   
         for (cp = rec; *cp != ':'; cp++)          for (cp = rec; *cp != ':'; cp++)
                 ;                  ;
   

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.30

CVSweb <webmaster@jp.NetBSD.org>