Back out stringlist
authormillert <millert@openbsd.org>
Mon, 3 Feb 1997 00:08:24 +0000 (00:08 +0000)
committermillert <millert@openbsd.org>
Mon, 3 Feb 1997 00:08:24 +0000 (00:08 +0000)
include/Makefile
lib/libc/gen/Makefile.inc
lib/libc/gen/getnetgrent.c
lib/libc/gen/stringlist.c [deleted file]

index 961cc4d..37c10c3 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile,v 1.35 1997/02/02 23:18:43 millert Exp $
+#      $OpenBSD: Makefile,v 1.36 1997/02/03 00:08:24 millert Exp $
 #      $NetBSD: Makefile,v 1.59 1996/05/15 21:36:43 jtc Exp $
 
 #      @(#)Makefile    5.45.1.1 (Berkeley) 5/6/91
@@ -14,7 +14,7 @@ FILES=        a.out.h ar.h assert.h bitstring.h bm.h cpio.h ctype.h db.h dirent.h \
        malloc.h math.h md4.h md5.h memory.h mpool.h ndbm.h netdb.h \
        netgroup.h nlist.h nl_types.h olf_abi.h paths.h poll.h pwd.h \
        ranlib.h re_comp.h regex.h resolv.h search.h setjmp.h sgtty.h \
-       sha1.h signal.h stab.h stddef.h stdio.h stdlib.h string.h stringlist.h \
+       sha1.h signal.h stab.h stddef.h stdio.h stdlib.h string.h \
        strings.h struct.h sysexits.h tar.h time.h ttyent.h tzfile.h \
        unistd.h utime.h utmp.h vis.h
 
index 3a352bf..93c71ec 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile.inc,v 1.8 1997/02/02 23:27:53 millert Exp $
+#      $OpenBSD: Makefile.inc,v 1.9 1997/02/03 00:10:08 millert Exp $
 
 # gen sources
 .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/gen ${.CURDIR}/gen
@@ -13,11 +13,11 @@ SRCS+=      alarm.c assert.c clock.c closedir.c confstr.c ctermid.c \
        nice.c nlist.c opendir.c pause.c popen.c psignal.c pwcache.c raise.c \
        readdir.c rewinddir.c scandir.c seekdir.c setdomainname.c \
        sethostname.c setjmperr.c setmode.c setproctitle.c siginterrupt.c \
-       siglist.c signal.c signame.c sigsetops.c sleep.c stringlist.c  \
-       sysconf.c sysctl.c syslog.c telldir.c time.c times.c timezone.c \
-       tolower_.c ttyname.c ttyslot.c toupper_.c ualarm.c uname.c unvis.c \
-       usleep.c utime.c valloc.c vis.c wait.c wait3.c waitpid.c warn.c \
-       warnx.c vwarn.c vwarnx.c verr.c verrx.c
+       siglist.c signal.c signame.c sigsetops.c sleep.c sysconf.c sysctl.c \
+       syslog.c telldir.c time.c times.c timezone.c tolower_.c ttyname.c \
+       ttyslot.c toupper_.c ualarm.c uname.c unvis.c usleep.c utime.c \
+       valloc.c vis.c wait.c wait3.c waitpid.c warn.c warnx.c vwarn.c \
+       vwarnx.c verr.c verrx.c
 
 # indirect reference stubs, to be removed soon.
 SRCS+= _err.c _errx.c _sys_errlist.c _sys_nerr.c _sys_siglist.c \
index 137f9bb..91675c0 100644 (file)
@@ -1,5 +1,4 @@
-/*     $OpenBSD: getnetgrent.c,v 1.4 1997/02/02 23:27:52 millert Exp $ */
-/*     $NetBSD: getnetgrent.c,v 1.11 1997/01/17 07:26:19 lukem Exp $   */
+/*     $OpenBSD: getnetgrent.c,v 1.5 1997/02/03 00:10:08 millert Exp $ */
 
 /*
  * Copyright (c) 1994 Christos Zoulas
@@ -33,7 +32,7 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: getnetgrent.c,v 1.4 1997/02/02 23:27:52 millert Exp $";
+static char *rcsid = "$OpenBSD: getnetgrent.c,v 1.5 1997/02/03 00:10:08 millert Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 #include <sys/types.h>
@@ -45,11 +44,7 @@ static char *rcsid = "$OpenBSD: getnetgrent.c,v 1.4 1997/02/02 23:27:52 millert
 #include <err.h>
 #include <ctype.h>
 #include <stdlib.h>
-#include <stringlist.h>
 #include <db.h>
-#ifdef YP
-#include <rpcsvc/ypclnt.h>
-#endif
 
 #define _NG_STAR(s)    (((s) == NULL || *(s) == '\0') ? _ngstar : s)
 #define _NG_EMPTY(s)   ((s) == NULL ? "" : s)
@@ -61,13 +56,22 @@ static struct netgroup *_nghead = (struct netgroup *)NULL;
 static struct netgroup *_nglist = (struct netgroup *)NULL;
 static DB *_ng_db;
 
+/*
+ * Simple string list
+ */
+struct stringlist {
+       char            **sl_str;
+       size_t            sl_max;
+       size_t            sl_cur;
+};
+
 static int             getstring __P((char **, int, char **));
 static struct netgroup *getnetgroup __P((char **));
 static int              lookup __P((const char *, char *, char **, int));
-static void             addgroup __P((char *, StringList *, char *));
+static void             addgroup __P((char *, struct stringlist *, char *));
 static int              in_check __P((const char *, const char *,
                                       const char *, struct netgroup *));
-static int              in_find __P((char *, StringList *,
+static int              in_find __P((char *, struct stringlist *,
                                      char *, const char *,
                                      const char *, const char *));
 static char            *in_lookup1 __P((const char *, const char *,
@@ -75,6 +79,79 @@ static char          *in_lookup1 __P((const char *, const char *,
 static int              in_lookup __P((const char *, const char *,
                                        const char *, const char *, int));
 
+/*
+ * _ng_sl_init(): Initialize a string list
+ */
+struct stringlist *
+_ng_sl_init()
+{
+       struct stringlist *sl = malloc(sizeof(struct stringlist));
+       if (sl == NULL)
+               _err(1, _ngoomem);
+
+       sl->sl_cur = 0;
+       sl->sl_max = 20;
+       sl->sl_str = malloc(sl->sl_max * sizeof(char *));
+       if (sl->sl_str == NULL)
+               _err(1, _ngoomem);
+       return sl;
+}
+
+
+/*
+ * _ng_sl_add(): Add an item to the string list
+ */
+void
+_ng_sl_add(sl, name)
+       struct stringlist       *sl;
+       char                    *name;
+{
+       if (sl->sl_cur == sl->sl_max - 1) {
+               sl->sl_max += 20;
+               sl->sl_str = realloc(sl->sl_str, sl->sl_max * sizeof(char *));
+               if (sl->sl_str == NULL)
+                       _err(1, _ngoomem);
+       }
+       sl->sl_str[sl->sl_cur++] = name;
+}
+
+
+/*
+ * _ng_sl_free(): Free a stringlist
+ */
+void
+_ng_sl_free(sl, all)
+       struct stringlist       *sl;
+       int                      all;
+{
+       size_t  i;
+
+       if (all)
+               for (i = 0; i < sl->sl_cur; i++)
+                       free(sl->sl_str[i]);
+       free(sl->sl_str);
+       free(sl);
+}
+
+
+/*
+ * sl_find(): Find a name in the string list
+ */
+char *
+_ng_sl_find(sl, name)
+       struct stringlist       *sl;
+       char                    *name;
+{
+       size_t  i;
+
+       for (i = 0; i < sl->sl_cur; i++)
+               if (strcmp(sl->sl_str[i], name) == 0)
+                       return sl->sl_str[i];
+
+       return NULL;
+}
+
+
 /*
  * getstring(): Get a string delimited by the character, skipping leading and
  * trailing blanks and advancing the pointer
@@ -292,9 +369,9 @@ _ng_parse(p, name, ng)
  */
 static void
 addgroup(ypdom, sl, grp)
-       char            *ypdom;
-       StringList      *sl;
-       char            *grp;
+       char                    *ypdom;
+       struct stringlist       *sl;
+       char                    *grp;
 {
        char            *line, *p;
        struct netgroup *ng;
@@ -304,12 +381,12 @@ addgroup(ypdom, sl, grp)
        (void) fprintf(stderr, "addgroup(%s)\n", grp);
 #endif
        /* check for cycles */
-       if (sl_find(sl, grp) != NULL) {
+       if (_ng_sl_find(sl, grp) != NULL) {
                free(grp);
                _warnx("netgroup: Cycle in group `%s'", grp);
                return;
        }
-       sl_add(sl, grp);
+       _ng_sl_add(sl, grp);
 
        /* Lookup this netgroup */
        if (!lookup(ypdom, grp, &line, _NG_KEYBYNAME))
@@ -378,12 +455,12 @@ in_check(host, user, domain, ng)
  */
 static int
 in_find(ypdom, sl, grp, host, user, domain)
-       char            *ypdom;
-       StringList      *sl;
-       char            *grp;
-       const char      *host;
-       const char      *user;
-       const char      *domain;
+       char                    *ypdom;
+       struct stringlist       *sl;
+       char                    *grp;
+       const char              *host;
+       const char              *user;
+       const char              *domain;
 {
        char            *line, *p;
        int              i;
@@ -394,12 +471,12 @@ in_find(ypdom, sl, grp, host, user, domain)
        (void) fprintf(stderr, "in_find(%s)\n", grp);
 #endif
        /* check for cycles */
-       if (sl_find(sl, grp) != NULL) {
+       if (_ng_sl_find(sl, grp) != NULL) {
                free(grp);
                _warnx("netgroup: Cycle in group `%s'", grp);
                return 0;
        }
-       sl_add(sl, grp);
+       _ng_sl_add(sl, grp);
 
        /* Lookup this netgroup */
        if (!lookup(ypdom, grp, &line, _NG_KEYBYNAME))
@@ -574,11 +651,11 @@ void
 setnetgrent(ng)
        const char      *ng;
 {
-       StringList      *sl = sl_init();
+       struct stringlist       *sl = _ng_sl_init();
 #ifdef YP
-       char            *line;
+       char                    *line;
 #endif
-       char            *ng_copy, *ypdom = NULL;
+       char                    *ng_copy, *ypdom = NULL;
 
        /* Cleanup any previous storage */
        if (_nghead != NULL)
@@ -602,7 +679,7 @@ setnetgrent(ng)
                _err(1, _ngoomem);
        addgroup(ypdom, sl, ng_copy);
        _nghead = _nglist;
-       sl_free(sl, 1);
+       _ng_sl_free(sl, 1);
 }
 
 
@@ -634,7 +711,7 @@ innetgr(grp, host, user, domain)
        char    *line;
 #endif
        int      found;
-       StringList *sl;
+       struct stringlist *sl;
 
        if (_ng_db == NULL)
                _ng_db = dbopen(_PATH_NETGROUP_DB, O_RDONLY, 0, DB_HASH, NULL);
@@ -665,9 +742,9 @@ innetgr(grp, host, user, domain)
                return 0;
 
        /* Too bad need the slow recursive way */
-       sl = sl_init();
+       sl = _ng_sl_init();
        found = in_find(ypdom, sl, strdup(grp), host, user, domain);
-       sl_free(sl, 1);
+       _ng_sl_free(sl, 1);
 
        return found;
 }
diff --git a/lib/libc/gen/stringlist.c b/lib/libc/gen/stringlist.c
deleted file mode 100644 (file)
index 372ecad..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/*     $OpenBSD: stringlist.c,v 1.1 1997/02/02 23:27:53 millert Exp $  */
-/*     $NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $     */
-
-/*
- * Copyright (c) 1994 Christos Zoulas
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by Christos Zoulas.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$NetBSD: stringlist.c,v 1.2 1997/01/17 07:26:20 lukem Exp $";
-#endif /* LIBC_SCCS and not lint */
-
-#include <stdio.h>
-#include <string.h>
-#include <err.h>
-#include <stdlib.h>
-#include <stringlist.h>
-
-#define _SL_CHUNKSIZE  20
-
-/*
- * sl_init(): Initialize a string list
- */
-StringList *
-sl_init()
-{
-       StringList *sl = malloc(sizeof(StringList));
-       if (sl == NULL)
-               _err(1, "stringlist: %m");
-
-       sl->sl_cur = 0;
-       sl->sl_max = _SL_CHUNKSIZE;
-       sl->sl_str = malloc(sl->sl_max * sizeof(char *));
-       if (sl->sl_str == NULL)
-               _err(1, "stringlist: %m");
-       return (sl);
-}
-
-
-/*
- * sl_add(): Add an item to the string list
- */
-void
-sl_add(sl, name)
-       StringList *sl;
-       char *name;
-{
-       if (sl->sl_cur == sl->sl_max - 1) {
-               sl->sl_max += _SL_CHUNKSIZE;
-               sl->sl_str = realloc(sl->sl_str, sl->sl_max * sizeof(char *));
-               if (sl->sl_str == NULL)
-                       _err(1, "stringlist: %m");
-       }
-       sl->sl_str[sl->sl_cur++] = name;
-}
-
-
-/*
- * sl_free(): Free a stringlist
- */
-void
-sl_free(sl, all)
-       StringList *sl;
-       int all;
-{
-       size_t i;
-
-       if (sl == NULL)
-               return;
-       if (sl->sl_str) {
-               if (all)
-                       for (i = 0; i < sl->sl_cur; i++)
-                               free(sl->sl_str[i]);
-               free(sl->sl_str);
-       }
-       free(sl);
-}
-
-
-/*
- * sl_find(): Find a name in the string list
- */
-char *
-sl_find(sl, name)
-       StringList *sl;
-       char *name;
-{
-       size_t i;
-
-       for (i = 0; i < sl->sl_cur; i++)
-               if (strcmp(sl->sl_str[i], name) == 0)
-                       return (sl->sl_str[i]);
-
-       return (NULL);
-}