Few tweaks to use new API
This commit is contained in:
parent
df91106a7f
commit
acfd0ea3dc
|
@ -111,8 +111,7 @@ endif()
|
|||
add_library(uirc ${UIRC_SOURCE})
|
||||
target_link_libraries(uirc ${UIRC_LIBS})
|
||||
target_include_directories(uirc PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/uirc>
|
||||
$<INSTALL_INTERFACE:include/uirc>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
)
|
||||
|
||||
separate_arguments(UIRC_HEADERS)
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
/*! \file */
|
||||
|
||||
#include "type.h" // IRC_User IRC_Message
|
||||
#include "uirc/type.h" // IRC_User IRC_Message
|
||||
|
||||
#include <corelibs/llist.h> // llist_t
|
||||
#include <sys/types.h> // ssize_t ssize_t
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
|
||||
/*! \file */
|
||||
|
||||
#include "mode.h" // IRC_Modes
|
||||
#include "type.h" // IRC_*
|
||||
#include "uirc/mode.h" // IRC_Modes
|
||||
#include "uirc/type.h" // IRC_*
|
||||
|
||||
#include <stddef.h> // ptrdiff_t
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#ifndef UIRC_GUARD_PUBLIC_MODES
|
||||
#define UIRC_GUARD_PUBLIC_MODES
|
||||
|
||||
typedef bool IRC_Modes[(('z' - 'a')) * 2];
|
||||
typedef bool IRC_Modes[('z' - 'a') * 2];
|
||||
|
||||
enum uirc_table_mode {
|
||||
IRC_MODE_WALLOPS,
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
/*! \file */
|
||||
|
||||
#include "type.h" // IRC_User
|
||||
#include "uirc/type.h" // IRC_User
|
||||
|
||||
#include <corelibs/llist.h> // llist_t
|
||||
#include <stdbool.h> // bool
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
/*! \file */
|
||||
|
||||
#include "mode.h"
|
||||
#include "uirc/mode.h"
|
||||
|
||||
#include <corelibs/llist.h> // llist_t
|
||||
#include <inttypes.h> // uintmax_t
|
||||
|
|
|
@ -16,20 +16,20 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "assembler.h"
|
||||
#include "command.h"
|
||||
#include "error.h"
|
||||
#include "memory.h"
|
||||
#include "misc.h"
|
||||
#include "mode.h"
|
||||
#include "tokenizer.h"
|
||||
#include "type.h"
|
||||
#include "validator.h"
|
||||
#include "uirc/assembler.h"
|
||||
#include "uirc/command.h"
|
||||
#include "uirc/error.h"
|
||||
#include "uirc/memory.h"
|
||||
#include "uirc/misc.h"
|
||||
#include "uirc/mode.h"
|
||||
#include "uirc/tokenizer.h"
|
||||
#include "uirc/type.h"
|
||||
#include "uirc/validator.h"
|
||||
|
||||
#ifdef UIRC_FEATURE_IRCV3
|
||||
#include "tag.h"
|
||||
#include "uirc/tag.h"
|
||||
#endif /* UIRC_FEATURE_IRCV3 */
|
||||
|
||||
#ifdef UIRC_FEATURE_CTCP
|
||||
#include "ctcp.h"
|
||||
#include "uirc/ctcp.h"
|
||||
#endif /* UIRC_FEATURE_CTCP */
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
/*! \file */
|
||||
|
||||
#include "type.h" // IRC_Message
|
||||
#include "uirc/type.h" // IRC_Message
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "assembler.h" // uirc_assembler_*
|
||||
#include "error.h" // uirc_errno
|
||||
#include "type.h" // IRC_Message IRC_Tag IRC_User
|
||||
#include "uirc/assembler.h" // uirc_assembler_*
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/type.h" // IRC_Message IRC_Tag IRC_User
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <stdio.h> // NULL, snprintf()
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "assembler.h" // uirc_assembler_tag_*
|
||||
#include "error.h" // uirc_errno
|
||||
#include "type.h" // IRC_Tag
|
||||
#include "uirc/assembler.h" // uirc_assembler_tag_*
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/type.h" // IRC_Tag
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/llist.h> // llist_t
|
||||
|
@ -73,7 +73,11 @@ uirc_assembler_tag_list(char* buf, const llist_t* tl, size_t len)
|
|||
assert(buf != NULL);
|
||||
|
||||
const char* const sv = buf;
|
||||
for (; tl != NULL && tl->content != NULL && ((IRC_Tag*) tl->content)->key != NULL; tl = tl->next) {
|
||||
for (; tl != NULL; tl = llist_elem_get_next(tl)) {
|
||||
|
||||
IRC_Tag* cont = llist_elem_get_cont(tl);
|
||||
if (cont == NULL || cont->key == NULL) break;
|
||||
|
||||
if (buf != sv) {
|
||||
if (len > 1) {
|
||||
*(buf++) = ';';
|
||||
|
@ -85,7 +89,7 @@ uirc_assembler_tag_list(char* buf, const llist_t* tl, size_t len)
|
|||
}
|
||||
|
||||
ssize_t ret;
|
||||
if ((ret = uirc_assembler_tag(buf, tl->content, len)) >= 0) {
|
||||
if ((ret = uirc_assembler_tag(buf, cont, len)) >= 0) {
|
||||
buf += (size_t) ret;
|
||||
len -= (size_t) ret;
|
||||
} else {
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "assembler.h" // Assm_user()
|
||||
#include "error.h" // uirc_errno
|
||||
#include "type.h" // IRC_User
|
||||
#include "uirc/assembler.h" // Assm_user()
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/type.h" // IRC_User
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <stdbool.h> // bool
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "command.h"
|
||||
#include "uirc/command.h"
|
||||
|
||||
static const char* const cmd_table[] = {
|
||||
[IRC_CMD_PASS] = "PASS", [IRC_CMD_NICK] = "NICK", [IRC_CMD_USER] = "USER", [IRC_CMD_OPER] = "OPER",
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "command.h"
|
||||
#include "uirc/command.h"
|
||||
|
||||
#include <stdint.h> // uint_least16_t
|
||||
#include <stdio.h> // snprintf()
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ctcp.h"
|
||||
#include "uirc/ctcp.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "error.h"
|
||||
#include "uirc/error.h"
|
||||
|
||||
uirc_errno_t uirc_errno = UIRC_ERR_NERROR;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "memory.h"
|
||||
#include "uirc/memory.h"
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/llist.h> // llist_t
|
||||
|
@ -27,10 +27,10 @@ void*
|
|||
uirc_list_append(llist_t* anchor, void* content)
|
||||
{
|
||||
assert(content != NULL);
|
||||
llist_t* new = llist_elem_alloc(0);
|
||||
llist_t* new = llist_elem_alloc();
|
||||
if (new == NULL) return NULL;
|
||||
new->content = content;
|
||||
if (anchor != NULL) llist_elem_conn(anchor, new);
|
||||
llist_elem_set_cont(new, content);
|
||||
llist_elem_conn(anchor, new);
|
||||
return new;
|
||||
}
|
||||
|
||||
|
@ -41,9 +41,10 @@ uirc_list_free(llist_t* list, IRC_Struct_Type type)
|
|||
ptrdiff_t cnt = 0;
|
||||
for (; list != NULL; cnt++) {
|
||||
llist_t* const save = list;
|
||||
list = list->next;
|
||||
if (save->content != NULL) uirc_struct_free(save->content, type);
|
||||
free(save->content);
|
||||
list = llist_elem_get_next(list);
|
||||
void* cont = llist_elem_get_cont(save);
|
||||
if (llist_elem_get_cont(save) != NULL) uirc_struct_free(cont, type);
|
||||
free(cont);
|
||||
llist_elem_rm(save);
|
||||
}
|
||||
return cnt;
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "error.h" // uirc_errno
|
||||
#include "memory.h"
|
||||
#include "mode.h" // uirc_modes_*
|
||||
#include "type.h" // IRC_*
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/memory.h"
|
||||
#include "uirc/mode.h" // uirc_modes_*
|
||||
#include "uirc/type.h" // IRC_*
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/stringext.h> // stringext_strmalloc()
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "mode.h"
|
||||
#include "uirc/mode.h"
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <ctype.h> // isalpha()
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "tag.h"
|
||||
#include "uirc/tag.h"
|
||||
|
||||
static const char* const irc_tag[] = {
|
||||
[IRC_TAG_ACCOUNT] = "account", [IRC_TAG_BATCH] = "batch", [IRC_TAG_BOT] = "bot",
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <stdbool.h> // true
|
||||
#include <stdio.h> // fprintf()
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include "common.h"
|
||||
|
||||
#include "uirc.h" // IRC_Message
|
||||
#include "uirc/uirc.h" // IRC_Message
|
||||
|
||||
#include <stdio.h> // printf()
|
||||
#include <stdlib.h> // exit()
|
||||
|
@ -43,7 +43,7 @@ print_irc_message(const IRC_Message* ptr)
|
|||
printf(DELIMITER);
|
||||
|
||||
llist_t* tmp = ptr->tag_list;
|
||||
for (; tmp != NULL; tmp = tmp->next) { print_irc_tag((IRC_Tag*) tmp->content); }
|
||||
for (; tmp != NULL; tmp = llist_elem_get_next(tmp)) { print_irc_tag((IRC_Tag*) llist_elem_get_cont(tmp)); }
|
||||
#endif /* UIRC_FEATURE_IRCV3 */
|
||||
|
||||
if (ptr->source != NULL) { print_irc_user(ptr->source); }
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "uirc.h" // IRC_*
|
||||
#include "uirc/uirc.h" // IRC_*
|
||||
|
||||
#include <stdio.h> // printf()
|
||||
#include <stdlib.h> // exit()
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <stdio.h> // fprintf()
|
||||
#include <stdlib.h> // EXIT_*
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <stdbool.h> // true
|
||||
#include <stdio.h> // fprintf()
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <stdio.h> // printf()
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <stdio.h> // fprintf()
|
||||
#include <stdlib.h> // EXIT_*
|
||||
|
@ -35,13 +35,13 @@ main(void)
|
|||
m->tag_list = uirc_list_append(NULL, uirc_struct_assm_tag(false, TAGKEY, TAGVAL));
|
||||
uirc_list_append(m->tag_list, uirc_struct_assm_tag(false, TAGKEY2, NULL));
|
||||
|
||||
IRC_Tag* t = m->tag_list->next->content;
|
||||
IRC_Tag* t = llist_elem_get_cont(llist_elem_get_next(m->tag_list));
|
||||
if (strcmp(TAGKEY2, t->key) != 0 || t->value != NULL) {
|
||||
fprintf(stderr, "List allocator didn't allocate things right\n");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
t = m->tag_list->content;
|
||||
t = llist_elem_get_cont(m->tag_list);
|
||||
if (strcmp(TAGKEY, t->key) != 0 || strcmp(TAGVAL, t->value) != 0) {
|
||||
fprintf(stderr, "List allocator didn't allocate things right\n");
|
||||
return EXIT_FAILURE;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "uirc.h" // uirc_mode_*() IRC_Modes
|
||||
#include "uirc/uirc.h" // uirc_mode_*() IRC_Modes
|
||||
|
||||
#include <stdio.h> // fprintf() stderr
|
||||
#include <stdlib.h> // EXIT_*
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc.h" // uirc_* IRC_*
|
||||
#include "common.h" // expect() print_irc_message()
|
||||
#include "uirc/uirc.h" // uirc_* IRC_*
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <stdio.h> // printf()
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "error.h" // uirc_errno
|
||||
#include "memory.h" // uirc_memory_*()
|
||||
#include "tokenizer.h" // uirc_tokenizer_*()
|
||||
#include "type.h" // IRC_Message
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/memory.h" // uirc_memory_*()
|
||||
#include "uirc/tokenizer.h" // uirc_tokenizer_*()
|
||||
#include "uirc/type.h" // IRC_Message
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/stringext.h> // stringext_strmalloc() stringext_strtok_mr()
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "error.h" // uirc_errno
|
||||
#include "memory.h" // Free_IRC_Tag()
|
||||
#include "tokenizer.h" // uirc_tokenizer_tags()
|
||||
#include "type.h" // IRC_Tag
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/memory.h" // Free_IRC_Tag()
|
||||
#include "uirc/tokenizer.h" // uirc_tokenizer_tags()
|
||||
#include "uirc/type.h" // IRC_Tag
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/llist.h> // llist_elem_alloc() llist_elem_conn() llist_elem_rm()
|
||||
|
@ -44,17 +44,15 @@ uirc_tokenizer_tag_list(const char* str)
|
|||
char * p = ws, *tmp;
|
||||
llist_t* pl = NULL;
|
||||
while ((tmp = stringext_strtok_mr(&p, ";")) != NULL) {
|
||||
llist_t* cl;
|
||||
if ((cl = llist_elem_alloc(0)) == NULL) {
|
||||
uirc_errno = UIRC_ERR_SYSERR;
|
||||
goto cleanup;
|
||||
}
|
||||
if ((cl->content = uirc_tokenizer_tag(tmp)) == NULL) goto cleanup;
|
||||
IRC_Tag* t;
|
||||
if ((t = uirc_tokenizer_tag(tmp)) == NULL) goto cleanup;
|
||||
|
||||
if (l == NULL) l = cl;
|
||||
else
|
||||
llist_elem_conn(pl, cl);
|
||||
pl = cl;
|
||||
if (l == NULL) {
|
||||
l = pl = uirc_list_append(NULL, t);
|
||||
} else {
|
||||
// Append tag to previous list element and then set previous list element to current to use it in next loop
|
||||
pl = uirc_list_append(pl, t);
|
||||
}
|
||||
}
|
||||
|
||||
free(ws);
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "error.h" // uirc_errno
|
||||
#include "memory.h" // uirc_memory_*()
|
||||
#include "tokenizer.h" // uirc_tokenizer_*()
|
||||
#include "type.h" // IRC_Message
|
||||
#include "uirc/error.h" // uirc_errno
|
||||
#include "uirc/memory.h" // uirc_memory_*()
|
||||
#include "uirc/tokenizer.h" // uirc_tokenizer_*()
|
||||
#include "uirc/type.h" // IRC_Message
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <corelibs/stringext.h> // stringext_strmalloc()
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with uIRC. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "validator.h"
|
||||
#include "uirc/validator.h"
|
||||
|
||||
#include <assert.h> // assert()
|
||||
#include <stdio.h> // NULL
|
||||
|
|
Reference in New Issue