Commit graph

7 commits

Author SHA1 Message Date
Tobias Boege
4333eb8046 [GB.DATA]
* BUG: Trie: Fix a memory leak when an object is replaced



git-svn-id: svn://localhost/gambas/trunk@6701 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 22:39:28 +00:00
Tobias Boege
182b46c308 [GB.DATA]
* NEW: Trie: New Add() and Remove() cosmetic methods.



git-svn-id: svn://localhost/gambas/trunk@6699 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-01 16:31:30 +00:00
Tobias Boege
bf997fb0f3 [GB.DATA]
* BUG: Trie: Use sufficient bit widths in numerical constants (could cause
  data loss on 32 bit systems).
* BUG: TriePrefix: Don't drop reference counts of the Trie when the prefix
  is not found.



git-svn-id: svn://localhost/gambas/trunk@6688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-29 18:55:41 +00:00
Tobias Boege
59da5f36f0 [GB.DATA]
* BUG: Don't use forward typedefs as some compilers don't seem to
  understand them.
* BUG: Silence false positive compiler warnings.



git-svn-id: svn://localhost/gambas/trunk@6607 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-11-03 08:55:24 +00:00
Tobias Boege
2d81f8dff0 [GB.DATA]
* BUG: The 256 values of an input byte were mapped to just 128 bits of the
  trie children mask, so corruption could have happened with non-ASCII keys.
* BUG: Add a special case when using GB.AddString() on an empty key
* BUG: Fix a memory error from Trie.Complete()'s return value
* OPT: Use the Gambas API in trie.c to manage memory and thus remove error
  recovery since the interpreter will crash anyway
* OPT: Remove checks for "unsupported" characters as all 256 values of a
  byte are supported in this version of the code



git-svn-id: svn://localhost/gambas/trunk@6515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-28 20:01:52 +00:00
Tobias Boege
c237307fff [GB.DATA]
* BUG: Trie: Fix Complete() method where the completion would be empty
  and a memory leak there



git-svn-id: svn://localhost/gambas/trunk@6507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-23 19:37:58 +00:00
Tobias Boege
87c0ee3b3a [GB.DATA]
* NEW: Trie and TriePrefix are new classes which implement a Patricia Trie



git-svn-id: svn://localhost/gambas/trunk@6506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-09-23 19:15:25 +00:00