]>
git.ipfire.org Git - thirdparty/squid.git/blob - lib/libTrie/TrieNode.cc
2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
10 #include "TrieCharTransform.h"
16 TrieNode::TrieNode() : _privateData(NULL
)
18 for (int i
= 0; i
< 256; ++i
)
24 for (int i
= 0; i
< 256; ++i
)
30 TrieNode::add(char const *aString
, size_t theLength
, void *privatedata
, TrieCharTransform
*transform
)
32 /* We trust that privatedata and existant keys have already been checked */
35 int index
= transform
? (*transform
)(*aString
): *aString
;
38 internal
[index
] = new TrieNode
;
40 return internal
[index
]->add(aString
+ 1, theLength
- 1, privatedata
, transform
);
47 _privateData
= privatedata
;