[BACK]Return to getnetgrent.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/getnetgrent.c between version 1.23 and 1.24

version 1.23, 1999/04/18 02:04:04 version 1.24, 1999/09/16 11:44:59
Line 38  __RCSID("$NetBSD$");
Line 38  __RCSID("$NetBSD$");
   
 #include "namespace.h"  #include "namespace.h"
 #include <sys/types.h>  #include <sys/types.h>
 #include <stdio.h>  
   #include <assert.h>
   #include <ctype.h>
   #include <db.h>
   #include <err.h>
   #include <fcntl.h>
 #define _NETGROUP_PRIVATE  #define _NETGROUP_PRIVATE
 #include <netgroup.h>  #include <netgroup.h>
 #include <string.h>  
 #include <fcntl.h>  
 #include <err.h>  
 #include <ctype.h>  
 #include <nsswitch.h>  #include <nsswitch.h>
   #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
   #include <string.h>
 #include <stringlist.h>  #include <stringlist.h>
 #include <db.h>  
 #ifdef YP  #ifdef YP
 #include <rpc/rpc.h>  #include <rpc/rpc.h>
 #include <rpcsvc/ypclnt.h>  #include <rpcsvc/ypclnt.h>
Line 111  getstring(pp, del, str)
Line 114  getstring(pp, del, str)
         size_t len;          size_t len;
         char *sp, *ep, *dp;          char *sp, *ep, *dp;
   
           _DIAGASSERT(pp != NULL);
           _DIAGASSERT(str != NULL);
   
         /* skip leading blanks */          /* skip leading blanks */
         for (sp = *pp; *sp && _NG_ISSPACE(*sp); sp++)          for (sp = *pp; *sp && _NG_ISSPACE(*sp); sp++)
                 continue;                  continue;
Line 152  static struct netgroup *
Line 158  static struct netgroup *
 getnetgroup(pp)  getnetgroup(pp)
         char    **pp;          char    **pp;
 {  {
         struct netgroup *ng = malloc(sizeof(struct netgroup));          struct netgroup *ng;
   
           _DIAGASSERT(pp != NULL);
           _DIAGASSERT(*pp != NULL);
   
           ng = malloc(sizeof(struct netgroup));
         if (ng == NULL)          if (ng == NULL)
                 err(1, _ngoomem);                  err(1, _ngoomem);
   
Line 320  lookup(name, line, bywhat)
Line 330  lookup(name, line, bywhat)
                 { 0 }                  { 0 }
         };          };
   
           _DIAGASSERT(name != NULL);
           _DIAGASSERT(line != NULL);
   
         r = nsdispatch(NULL, dtab, NSDB_NETGROUP, "lookup", default_files_nis,          r = nsdispatch(NULL, dtab, NSDB_NETGROUP, "lookup", default_files_nis,
             name, line, bywhat);              name, line, bywhat);
         return (r == NS_SUCCESS) ? 1 : 0;          return (r == NS_SUCCESS) ? 1 : 0;
Line 338  _ng_parse(p, name, ng)
Line 351  _ng_parse(p, name, ng)
         char            **name;          char            **name;
         struct netgroup **ng;          struct netgroup **ng;
 {  {
   
           _DIAGASSERT(p != NULL);
           _DIAGASSERT(*p != NULL);
           _DIAGASSERT(name != NULL);
           _DIAGASSERT(ng != NULL);
   #ifdef _DIAGNOSTIC
           if (p == NULL || *p == NULL || name == NULL || ng == NULL)
                   return _NG_NONE;
   #endif
   
         while (**p) {          while (**p) {
                 if (**p == '#')                  if (**p == '#')
                         /* comment */                          /* comment */
Line 386  addgroup(sl, grp)
Line 409  addgroup(sl, grp)
         struct netgroup *ng;          struct netgroup *ng;
         char            *name;          char            *name;
   
           _DIAGASSERT(sl != NULL);
           _DIAGASSERT(grp != NULL);
   
 #ifdef DEBUG_NG  #ifdef DEBUG_NG
         (void) fprintf(stderr, "addgroup(%s)\n", grp);          (void) fprintf(stderr, "addgroup(%s)\n", grp);
 #endif  #endif
Line 447  in_check(host, user, domain, ng)
Line 473  in_check(host, user, domain, ng)
         const char      *domain;          const char      *domain;
         struct netgroup *ng;          struct netgroup *ng;
 {  {
   
           /* host may be NULL */
           /* user may be NULL */
           /* domain may be NULL */
           _DIAGASSERT(ng != NULL);
   
         if ((host != NULL) && (ng->ng_host != NULL)          if ((host != NULL) && (ng->ng_host != NULL)
             && strcmp(ng->ng_host, host) != 0)              && strcmp(ng->ng_host, host) != 0)
                 return 0;                  return 0;
Line 479  in_find(sl, grp, host, user, domain)
Line 511  in_find(sl, grp, host, user, domain)
         struct netgroup *ng;          struct netgroup *ng;
         char            *name;          char            *name;
   
           _DIAGASSERT(sl != NULL);
           _DIAGASSERT(grp != NULL);
           /* host may be NULL */
           /* user may be NULL */
           /* domain may be NULL */
   
 #ifdef DEBUG_NG  #ifdef DEBUG_NG
         (void) fprintf(stderr, "in_find(%s)\n", grp);          (void) fprintf(stderr, "in_find(%s)\n", grp);
 #endif  #endif
Line 552  _ng_makekey(s1, s2, len)
Line 590  _ng_makekey(s1, s2, len)
         const char      *s1, *s2;          const char      *s1, *s2;
         size_t           len;          size_t           len;
 {  {
         char *buf = malloc(len);          char *buf;
   
           /* s1 may be NULL */
           /* s2 may be NULL */
   
           buf = malloc(len);
         if (buf == NULL)          if (buf == NULL)
                 err(1, _ngoomem);                  err(1, _ngoomem);
         (void) snprintf(buf, len, "%s.%s", _NG_STAR(s1), _NG_STAR(s2));          (void) snprintf(buf, len, "%s.%s", _NG_STAR(s1), _NG_STAR(s2));
Line 565  _ng_print(buf, len, ng)
Line 608  _ng_print(buf, len, ng)
         size_t len;          size_t len;
         const struct netgroup *ng;          const struct netgroup *ng;
 {  {
           _DIAGASSERT(buf != NULL);
           _DIAGASSERT(ng != NULL);
   #ifdef _DIAGNOSTIC
           if (buf == NULL || ng == NULL)
                   return;
   #endif
   
         (void) snprintf(buf, len, "(%s,%s,%s)", _NG_EMPTY(ng->ng_host),          (void) snprintf(buf, len, "(%s,%s,%s)", _NG_EMPTY(ng->ng_host),
             _NG_EMPTY(ng->ng_user), _NG_EMPTY(ng->ng_domain));              _NG_EMPTY(ng->ng_user), _NG_EMPTY(ng->ng_domain));
 }  }
Line 584  in_lookup1(key, domain, map)
Line 634  in_lookup1(key, domain, map)
         char    *ptr;          char    *ptr;
         int      res;          int      res;
   
           /* key may be NULL */
           /* domain may be NULL */
   
         len = (key ? strlen(key) : 1) + (domain ? strlen(domain) : 1) + 2;          len = (key ? strlen(key) : 1) + (domain ? strlen(domain) : 1) + 2;
         ptr = _ng_makekey(key, domain, len);          ptr = _ng_makekey(key, domain, len);
         res = lookup(ptr, &line, map);          res = lookup(ptr, &line, map);
Line 605  in_lookup(group, key, domain, map)
Line 658  in_lookup(group, key, domain, map)
         size_t   len;          size_t   len;
         char    *ptr, *line;          char    *ptr, *line;
   
           _DIAGASSERT(group != NULL);
           /* key may be NULL */
           /* domain may be NULL */
   
         if (domain != NULL) {          if (domain != NULL) {
                 /* Domain specified; look in "group.domain" and "*.domain" */                  /* Domain specified; look in "group.domain" and "*.domain" */
                 if ((line = in_lookup1(key, domain, map)) == NULL)                  if ((line = in_lookup1(key, domain, map)) == NULL)
Line 668  setnetgrent(ng)
Line 725  setnetgrent(ng)
         StringList      *sl = sl_init();          StringList      *sl = sl_init();
         char            *ng_copy;          char            *ng_copy;
   
           _DIAGASSERT(ng != NULL);
   #ifdef _DIAGNOSTIC
           if (ng == NULL)
                   return;
   #endif
   
         /* Cleanup any previous storage */          /* Cleanup any previous storage */
         if (_nghead != NULL)          if (_nghead != NULL)
                 endnetgrent();                  endnetgrent();
Line 690  getnetgrent(host, user, domain)
Line 753  getnetgrent(host, user, domain)
         const char      **user;          const char      **user;
         const char      **domain;          const char      **domain;
 {  {
           _DIAGASSERT(host != NULL);
           _DIAGASSERT(user != NULL);
           _DIAGASSERT(domain != NULL);
   #ifdef _DIAGNOSTIC
           if (host == NULL || user == NULL || domain == NULL)
                   return 0;
   #endif
   
         if (_nglist == NULL)          if (_nglist == NULL)
                 return 0;                  return 0;
   
Line 710  innetgr(grp, host, user, domain)
Line 781  innetgr(grp, host, user, domain)
         int      found;          int      found;
         StringList *sl;          StringList *sl;
   
           _DIAGASSERT(grp != NULL);
           /* host may be NULL */
           /* user may be NULL */
           /* domain may be NULL */
   #ifdef _DIAGNOSTIC
           if (grp == NULL)
                   return 0;
   #endif
   
         if (_ng_db == NULL)          if (_ng_db == NULL)
                 _ng_db = dbopen(_PATH_NETGROUP_DB, O_RDONLY, 0, DB_HASH, NULL);                  _ng_db = dbopen(_PATH_NETGROUP_DB, O_RDONLY, 0, DB_HASH, NULL);
   

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

CVSweb <webmaster@jp.NetBSD.org>