Few tweaks to use new API

This commit is contained in:
Alex D. 2021-04-16 18:10:33 +00:00
parent df91106a7f
commit acfd0ea3dc
Signed by: caskd
GPG Key ID: F92BA85F61F4C173
32 changed files with 91 additions and 89 deletions

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -18,7 +18,7 @@
/*! \file */
#include "mode.h"
#include "uirc/mode.h"
#include <corelibs/llist.h> // llist_t
#include <inttypes.h> // uintmax_t

View File

@ -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 */

View File

@ -18,7 +18,7 @@
/*! \file */
#include "type.h" // IRC_Message
#include "uirc/type.h" // IRC_Message
#include <sys/types.h>

View File

@ -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()

View File

@ -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 {

View File

@ -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

View File

@ -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",

View File

@ -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()

View File

@ -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>

View File

@ -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;

View File

@ -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;

View File

@ -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()

View File

@ -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()

View File

@ -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",

View File

@ -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()

View File

@ -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); }

View File

@ -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()

View File

@ -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_*

View File

@ -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()

View File

@ -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()

View File

@ -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;

View File

@ -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_*

View File

@ -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()

View File

@ -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()

View File

@ -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);

View File

@ -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()

View File

@ -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