[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.21 and 1.27

version 1.21, 1998/07/27 07:41:53 version 1.27, 1999/03/22 03:28:09
Line 97  int
Line 97  int
 cgetset(ent)  cgetset(ent)
         const char *ent;          const char *ent;
 {  {
           const char *source, *check;
           char *dest;
   
         if (ent == NULL) {          if (ent == NULL) {
                 if (toprec)                  if (toprec)
                         free(toprec);                          free(toprec);
Line 110  cgetset(ent)
Line 113  cgetset(ent)
                 return (-1);                  return (-1);
         }          }
         gottoprec = 0;          gottoprec = 0;
         (void)strcpy(toprec, ent);      /* XXX: strcpy is safe */  
           source=ent;
           dest=toprec;
           while (*source) { /* Strip whitespace */
                   *dest++ = *source++; /* Do not check first field */
                   while (*source == ':') {
                           check=source+1;
                           while (*check && isspace(*check) ||
                               (*check=='\\' && isspace(check[1])))
                                   ++check;
                           if( *check == ':' )
                                   source=check;
                           else
                                   break;
   
                   }
           }
           *dest=0;
   
         return (0);          return (0);
 }  }
   
Line 280  getent(cap, len, db_array, fd, name, dep
Line 301  getent(cap, len, db_array, fd, name, dep
                                 /* save the data; close frees it */                                  /* save the data; close frees it */
                                 clen = strlen(record);                                  clen = strlen(record);
                                 cbuf = malloc(clen + 1);                                  cbuf = malloc(clen + 1);
                                 memcpy(cbuf, record, clen + 1);                                  memmove(cbuf, record, clen + 1);
                                 if (capdbp->close(capdbp) < 0) {                                  if (capdbp->close(capdbp) < 0) {
                                         free(cbuf);                                          free(cbuf);
                                         return (-2);                                          return (-2);
Line 552  tc_exp: {
Line 573  tc_exp: {
                          * Insert tc'ed record into our record.                           * Insert tc'ed record into our record.
                          */                           */
                         s = tcstart + newilen;                          s = tcstart + newilen;
                         bcopy(tcend, s, (size_t)(rp - tcend));                          memmove(s, tcend,  (size_t)(rp - tcend));
                         bcopy(newicap, tcstart, newilen);                          memmove(tcstart, newicap, newilen);
                         rp += diff;                          rp += diff;
                         free(icap);                          free(icap);
   
Line 591  cdbget(capdbp, bp, name)
Line 612  cdbget(capdbp, bp, name)
         char **bp;          char **bp;
         const char *name;          const char *name;
 {  {
         DBT key, data;          DBT key;
           DBT data;
   
           /* LINTED key is not modified */
         key.data = (char *)name;          key.data = (char *)name;
         key.size = strlen(name);          key.size = strlen(name);
   
Line 637  cgetmatch(buf, name)
Line 660  cgetmatch(buf, name)
                  */                   */
                 np = name;                  np = name;
                 for (;;)                  for (;;)
                         if (*np == '\0')                          if (*np == '\0') {
                                 if (*bp == '|' || *bp == ':' || *bp == '\0')                                  if (*bp == '|' || *bp == ':' || *bp == '\0')
                                         return (0);                                          return (0);
                                 else                                  else
                                         break;                                          break;
                         else                          } else
                                 if (*bp++ != *np++)                                  if (*bp++ != *np++)
                                         break;                                          break;
   
Line 735  cgetnext(bp, db_array)
Line 758  cgetnext(bp, db_array)
                                 slash = 0;                                  slash = 0;
                                 continue;                                  continue;
                         }                          }
                         if (isspace(*line) ||                          if (isspace((unsigned char)*line) ||
                             *line == ':' || *line == '#' || slash) {                              *line == ':' || *line == '#' || slash) {
                                 if (line[len - 2] == '\\')                                  if (line[len - 2] == '\\')
                                         slash = 1;                                          slash = 1;

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.27

CVSweb <webmaster@jp.NetBSD.org>