示例#1
0
SBTrie *
sb_trie_open (const char *path, const char *name, TrieIOMode mode)
{
    SBTrie *sb_trie;

    sb_trie = (SBTrie *) malloc (sizeof (SBTrie));
    if (!sb_trie)
        return NULL;

    sb_trie->trie = trie_open (path, name, mode);
    if (!sb_trie->trie)
        goto exit1;

    sb_trie->alpha_map = alpha_map_open (path, name, ".sbm");
    if (!sb_trie->alpha_map)
        goto exit2;

    return sb_trie;

exit2:
    trie_close (sb_trie->trie);
exit1:
    free (sb_trie);
    return NULL;
}
示例#2
0
文件: tries.c 项目: edechter/yap
static int p_trie_close(void) {
  /* check arg */
  if (!YAP_IsIntTerm(arg_trie)) 
    return FALSE;

  /* close trie */
  trie_close((TrEntry) YAP_IntOfTerm(arg_trie));
  return TRUE;
}
示例#3
0
int
sb_trie_close (SBTrie *sb_trie)
{
    if (!sb_trie)
        return -1;

    alpha_map_free (sb_trie->alpha_map);
    return trie_close (sb_trie->trie);
}
示例#4
0
int
sb_trie_close (SBTrie *sb_trie)
{
    alpha_map_free (sb_trie->alpha_map);
    return trie_close (sb_trie->trie);
}