/* tinyrl_history_entry.c */ #include "private.h" #include "lub/string.h" #include struct _tinyrl_history_entry { char *line; unsigned index; }; /*------------------------------------- */ static void entry_init(tinyrl_history_entry_t *this, const char *line, unsigned index) { this->line = lub_string_dup(line); this->index = index; } /*------------------------------------- */ static void entry_fini(tinyrl_history_entry_t *this) { lub_string_free(this->line); this->line = NULL; } /*------------------------------------- */ tinyrl_history_entry_t * tinyrl_history_entry_new(const char *line, unsigned index) { tinyrl_history_entry_t *this = malloc(sizeof(tinyrl_history_entry_t)); if(NULL != this) { entry_init(this,line,index); } return this; } /*------------------------------------- */ void tinyrl_history_entry_delete(tinyrl_history_entry_t *this) { entry_fini(this); free(this); } /*------------------------------------- */ const char * tinyrl_history_entry__get_line(const tinyrl_history_entry_t *this) { return this->line; } /*------------------------------------- */ unsigned tinyrl_history_entry__get_index(const tinyrl_history_entry_t *this) { return this->index; } /*------------------------------------- */