refactor: remove entry code from trie

This commit is contained in:
Jef Roosens 2022-12-08 07:52:21 +01:00
parent 4b772d003b
commit 0c742f45b0
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
7 changed files with 23 additions and 16 deletions

View file

@ -38,13 +38,6 @@ static const size_t charset_len = sizeof(charset) - 1;
*/
typedef struct ttrie Trie;
typedef enum entry_type { Redirect, Paste, Unknown } EntryType;
typedef struct entry {
EntryType type;
char string[];
} Entry;
typedef enum trie_exit_code {
Ok = 0,
NotFound,
@ -52,10 +45,6 @@ typedef enum trie_exit_code {
FileError
} TrieExitCode;
uint64_t entry_new(Entry **entry_ptr, EntryType type, const char *string);
void entry_free(Entry *entry);
/**
* Allocate & initialize a new trie, and populate it with the data from the
* given data file.

View file

@ -5,7 +5,6 @@
#include <string.h>
#include "trie.h"
#include "trie_entry.c"
#include "trie_node.c"
typedef struct ttrie {

View file

@ -1,42 +0,0 @@
#include "trie.h"
#include <stdlib.h>
EntryType entry_type_from_char(char c) {
switch (c) {
case '0':
return Redirect;
case '1':
return Paste;
default:
return Unknown;
}
}
char entry_type_to_char(EntryType et) {
switch (et) {
case Redirect:
return '0';
case Paste:
return '1';
default:
return '\0';
}
}
uint64_t entry_new(Entry **entry_ptr, EntryType type, const char *string) {
size_t str_len = strlen(string);
uint64_t entry_size = sizeof(EntryType) + str_len + 1;
Entry *entry = malloc(entry_size);
entry->type = type;
if (string != NULL) {
memcpy(entry->string, string, str_len + 1);
} else {
entry->string[0] = '\0';
}
*entry_ptr = entry;
return entry_size;
}
void entry_free(Entry *entry) { free(entry); }