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