Hi,
  the attached patch removes some cruft from libTrie (c bindings and
.cci files). No functional changes apart from that.

-- 
    Francesco
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: kin...@squid-cache.org-20140603115956-q46uuszw534vp55i
# target_branch: http://bzr.squid-cache.org/bzr/squid3/trunk/
# testament_sha1: 3f26b6e3a368c2aadd2b82a5c5eaf265086f8ca4
# timestamp: 2014-06-03 16:25:09 +0200
# base_revision_id: squ...@treenet.co.nz-20140603085229-\
#   j3lxeh8daub7fe0g
# 
# Begin patch
=== modified file 'lib/libTrie/Makefile.am'
--- lib/libTrie/Makefile.am	2013-06-11 13:13:23 +0000
+++ lib/libTrie/Makefile.am	2014-06-03 10:49:08 +0000
@@ -9,9 +9,7 @@
 noinst_HEADERS = Trie.h TrieNode.h TrieCharTransform.h
 
 libTrie_a_SOURCES = Trie.cc \
-	Trie.cci \
 	Trie.h \
 	TrieNode.cc \
-	TrieNode.cci \
 	TrieNode.h \
 	TrieCharTransform.h

=== modified file 'lib/libTrie/Trie.cc'
--- lib/libTrie/Trie.cc	2013-10-25 00:13:46 +0000
+++ lib/libTrie/Trie.cc	2014-06-03 10:49:08 +0000
@@ -19,40 +19,22 @@
 
 #include "squid.h"
 #include "Trie.h"
+#include "TrieCharTransform.h"
+#include "TrieNode.h"
+
 #if HAVE_UNISTD_H
 #include <unistd.h>
 #endif
-#include "TrieCharTransform.h"
-#include "TrieNode.h"
-
-#if !_USE_INLINE_
-#include "Trie.cci"
-#endif
 
 Trie::Trie(TrieCharTransform *aTransform) : head(0) , transform(aTransform)
 {}
 
-extern "C" void *TrieCreate()
-{
-    return new Trie;
-}
-
 Trie::~Trie()
 {
     delete head;
     delete transform;
 }
 
-extern "C" void TrieDestroy(void *aTrie)
-{
-    delete (Trie *)aTrie;
-}
-
-extern "C" void *TrieFind(void *aTrie, char const *aString, size_t theLength)
-{
-    return ((Trie *)aTrie)->find(aString, theLength);
-}
-
 bool
 Trie::add(char const *aString, size_t theLength, void *privatedata)
 {
@@ -70,9 +52,3 @@
 
     return head->add(aString, theLength, privatedata, transform);
 }
-
-extern "C" int TrieAdd(void *aTrie, char const *aString, size_t theLength, void *privatedata)
-{
-
-    return ((Trie *)aTrie)->add(aString, theLength, privatedata);
-}

=== removed file 'lib/libTrie/Trie.cci'
--- lib/libTrie/Trie.cci	2013-06-11 13:13:23 +0000
+++ lib/libTrie/Trie.cci	1970-01-01 00:00:00 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2002,2003 Robert Collins <rbtcoll...@hotmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-
-#ifdef __cplusplus
-#include "Trie.h"
-#include "TrieNode.h"
-
-void *
-Trie::find (char const *aString, size_t theLength)
-{
-    if (head)
-        return head->find (aString, theLength, transform, false);
-
-    return NULL;
-}
-
-void *
-Trie::findPrefix (char const *aString, size_t theLength)
-{
-    if (head)
-        return head->find (aString, theLength, transform, true);
-
-    return NULL;
-}
-
-#endif

=== modified file 'lib/libTrie/Trie.h'
--- lib/libTrie/Trie.h	2013-06-11 13:13:23 +0000
+++ lib/libTrie/Trie.h	2014-06-03 10:49:08 +0000
@@ -20,36 +20,13 @@
 #ifndef   LIBTRIE_SQUID_H
 #define   LIBTRIE_SQUID_H
 
-/* This is the header for libTrie.
- * libTrie provides both C and C++
- * bindings. libtrie itself is written in C++.
- */
-
+#include "TrieNode.h"
 #if HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
 
-/* C bindings */
-#ifndef   __cplusplus
-
-/* TODO: provide parameterisation for C bindings */
-void *TrieCreate (void);
-void TrieDestroy (void *);
-void *TrieFind (void *, char const *, size_t);
-int TrieAdd (void *, char const *, size_t, void *);
-
-/* C++ bindings */
-#else
-
-/* MinGW needs NULL definition */
-#ifndef NULL
-#define NULL 0
-#endif
-
 class TrieCharTransform;
 
-class TrieNode;
-
 /* TODO: parameterize this to be more generic -
 * i.e. M-ary internal node sizes etc
 */
@@ -67,11 +44,11 @@
     * If found, return the private data.
     * If not found, return NULL.
     */
-    _SQUID_INLINE_ void *find (char const *, size_t);
+    inline void *find (char const *, size_t);
     /* find any element of the trie in the buffer from the
     * beginning thereof
     */
-    _SQUID_INLINE_ void *findPrefix (char const *, size_t);
+    inline void *findPrefix (char const *, size_t);
 
     /* Add a string.
     * returns false if the string is already
@@ -87,10 +64,22 @@
     TrieCharTransform *transform;
 };
 
-#endif /* __cplusplus */
-
-#if _USE_INLINE_
-#include "Trie.cci"
-#endif
+void *
+Trie::find (char const *aString, size_t theLength)
+{
+    if (head)
+        return head->find (aString, theLength, transform, false);
+
+    return NULL;
+}
+
+void *
+Trie::findPrefix (char const *aString, size_t theLength)
+{
+    if (head)
+        return head->find (aString, theLength, transform, true);
+
+    return NULL;
+}
 
 #endif /* LIBTRIE_SQUID_H */

=== modified file 'lib/libTrie/TrieNode.cc'
--- lib/libTrie/TrieNode.cc	2013-10-25 00:13:46 +0000
+++ lib/libTrie/TrieNode.cc	2014-06-03 11:59:56 +0000
@@ -60,7 +60,3 @@
         return true;
     }
 }
-
-#if !_USE_INLINE_
-#include "TrieNode.cci"
-#endif

=== removed file 'lib/libTrie/TrieNode.cci'
--- lib/libTrie/TrieNode.cci	2013-10-25 00:13:46 +0000
+++ lib/libTrie/TrieNode.cci	1970-01-01 00:00:00 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2002,2003 Robert Collins <rbtcoll...@hotmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-
-#ifdef __cplusplus
-#include "TrieCharTransform.h"
-#include "TrieNode.h"
-#if HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <ctype.h>
-
-/* recursive. TODO? make iterative */
-void *
-TrieNode::find (char const *aString, size_t theLength, TrieCharTransform *transform, bool const prefix) const
-{
-    if (theLength) {
-        int index = -1;
-        unsigned char pos = transform ? (*transform) (*aString) : *aString;
-
-        if (internal[pos])
-            index = pos;
-
-        if (index > -1) {
-            void *result;
-            result = internal[index]->find(aString + 1, theLength - 1, transform, prefix);
-
-            if (result)
-                return result;
-        }
-
-        if (prefix)
-            return _privateData;
-
-        return NULL;
-    } else {
-        /* terminal node */
-        return _privateData;
-    }
-}
-
-#endif

=== modified file 'lib/libTrie/TrieNode.h'
--- lib/libTrie/TrieNode.h	2013-06-11 13:13:23 +0000
+++ lib/libTrie/TrieNode.h	2014-06-03 10:49:08 +0000
@@ -20,32 +20,15 @@
 #ifndef   LIBTRIE_TRIENODE_H
 #define   LIBTRIE_TRIENODE_H
 
-/* This is an internal header for libTrie.
- * libTrie provides both C and C++
- * bindings.
- * libTrie itself is written in C++.
- * For C bindings see Trei.h
- */
-
-/* C bindings */
-#ifndef   __cplusplus
-
-/* C++ bindings */
-#else
+#include "TrieCharTransform.h"
+
 #include <sys/types.h>
 #include <utility>
 
-/* MinGW needs NULL definition */
-#ifndef NULL
-#define NULL 0
-#endif
-
 /* TODO: parameterize this to be more generic -
 * i.e. M-ary internal node sizes etc
 */
 
-class TrieCharTransform;
-
 class TrieNode
 {
 
@@ -59,15 +42,14 @@
     * If found, return the private data.
     * If not found, return NULL.
     */
-    _SQUID_INLINE_ void *find (char const *, size_t, TrieCharTransform *, bool const prefix) const;
+    inline void *find (char const *, size_t, TrieCharTransform *, bool const prefix) const;
 
     /* Add a string.
     * returns false if the string is already
     * present or can't be added.
     */
 
-    bool add
-    (char const *, size_t, void *, TrieCharTransform *);
+    bool add (char const *, size_t, void *, TrieCharTransform *);
 
 private:
     /* 256-way Trie */
@@ -82,10 +64,32 @@
     void *_privateData;
 };
 
-#endif /* __cplusplus */
-
-#if _USE_INLINE_
-#include "TrieNode.cci"
-#endif
-
+/* recursive. TODO? make iterative */
+void *
+TrieNode::find (char const *aString, size_t theLength, TrieCharTransform *transform, bool const prefix) const
+{
+    if (theLength) {
+        int index = -1;
+        unsigned char pos = transform ? (*transform) (*aString) : *aString;
+
+        if (internal[pos])
+            index = pos;
+
+        if (index > -1) {
+            void *result;
+            result = internal[index]->find(aString + 1, theLength - 1, transform, prefix);
+
+            if (result)
+                return result;
+        }
+
+        if (prefix)
+            return _privateData;
+
+        return NULL;
+    } else {
+        /* terminal node */
+        return _privateData;
+    }
+}
 #endif /* LIBTRIE_TRIENODE_H */

=== modified file 'lib/libTrie/test/Makefile.am'
--- lib/libTrie/test/Makefile.am	2013-06-11 13:13:23 +0000
+++ lib/libTrie/test/Makefile.am	2014-06-03 10:49:08 +0000
@@ -2,14 +2,9 @@
 
 INCLUDES += -I$(top_srcdir)/include
 
-# TESTS = trie trie-c
 TESTS += trie
 
-# check_PROGRAMS = trie trie-c
 check_PROGRAMS += trie
 
 trie_SOURCES = trie.cc
-trie_LDADD = $(top_builddir)/lib/libTrie/libTrie.a
-
-#trie_c_SOURCES = trie-c.c
-#trie_c_LDADD = $(top_builddir)/lib/libTrie/libTrie.a -lm
+trie_LDADD = $(top_builddir)/lib/libTrie/libTrie.a
\ No newline at end of file

=== removed file 'lib/libTrie/test/trie-c.c'
--- lib/libTrie/test/trie-c.c	2014-02-21 10:46:19 +0000
+++ lib/libTrie/test/trie-c.c	1970-01-01 00:00:00 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2002 Robert Collins <rbtcoll...@hotmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
- *
- */
-
-#include "squid.h"
-#include "Trie.h"
-
-int
-main (int argc, char **argv)
-{
-    void *aTrie = TrieCreate();
-    if (!TrieAdd (aTrie, "User-Agent", 10, (void *)1)) {
-        fprintf(stderr,"Could not add User-Agent\n");
-        return 1;
-    }
-    if (TrieAdd (aTrie, "User-Agent", 10, (void *)2)) {
-        fprintf(stderr, "Could add duplicate User-Agent\n");
-        return 1;
-    }
-    if (TrieFind (aTrie, "User-Agent", 10) != (void *)1) {
-        fprintf(stderr, "Could not find User-Agent\n");
-        return 1;
-    }
-    TrieDestroy (aTrie);
-    return 0;
-}

# Begin bundle
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

Reply via email to