]> git.ipfire.org Git - thirdparty/squid.git/blame - src/wordlist.cc
Cleanup: zap CVS Id tags
[thirdparty/squid.git] / src / wordlist.cc
CommitLineData
d295d770 1
2/*
262a0e14 3 * $Id$
d295d770 4 *
5 * DEBUG: section 3 Configuration File Parsing
6 * AUTHOR: Harvest Derived
7 *
8 * SQUID Web Proxy Cache http://www.squid-cache.org/
9 * ----------------------------------------------------------
10 *
11 * Squid is the result of efforts by numerous individuals from
12 * the Internet community; see the CONTRIBUTORS file for full
13 * details. Many organizations have provided support for Squid's
14 * development; see the SPONSORS file for full details. Squid is
15 * Copyrighted (C) 2001 by the Regents of the University of
16 * California; see the COPYRIGHT file for full details. Squid
17 * incorporates software developed and/or copyrighted by other
18 * sources; see the CREDITS file for full details.
19 *
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License as published by
22 * the Free Software Foundation; either version 2 of the License, or
23 * (at your option) any later version.
26ac0430 24 *
d295d770 25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 * GNU General Public License for more details.
26ac0430 29 *
d295d770 30 * You should have received a copy of the GNU General Public License
31 * along with this program; if not, write to the Free Software
32 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
33 *
34 */
35
36#include "wordlist.h"
37#include "MemBuf.h"
38
39void
40wordlistDestroy(wordlist ** list)
41{
42 wordlist *w = NULL;
43
44 while ((w = *list) != NULL) {
45 *list = w->next;
46 safe_free(w->key);
47 delete w;
48 }
49
50 *list = NULL;
51}
52
53const char *
54wordlistAdd(wordlist ** list, const char *key)
55{
56 while (*list)
57 list = &(*list)->next;
58
59 *list = new wordlist;
60
61 (*list)->key = xstrdup(key);
62
63 (*list)->next = NULL;
64
65 return (*list)->key;
66}
67
68void
69wordlistJoin(wordlist ** list, wordlist ** wl)
70{
71 while (*list)
72 list = &(*list)->next;
73
74 *list = *wl;
75
76 *wl = NULL;
77}
78
79void
80wordlistAddWl(wordlist ** list, wordlist * wl)
81{
82 while (*list)
83 list = &(*list)->next;
84
85 for (; wl; wl = wl->next, list = &(*list)->next) {
86 *list = new wordlist();
87 (*list)->key = xstrdup(wl->key);
88 (*list)->next = NULL;
89 }
90}
91
92void
93wordlistCat(const wordlist * w, MemBuf * mb)
94{
95 while (NULL != w) {
96 mb->Printf("%s\n", w->key);
97 w = w->next;
98 }
99}
100
101wordlist *
102wordlistDup(const wordlist * w)
103{
104 wordlist *D = NULL;
105
106 while (NULL != w) {
107 wordlistAdd(&D, w->key);
108 w = w->next;
109 }
110
111 return D;
112}