diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-09-02 23:38:48 +0200 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2019-09-02 23:51:15 +0200 |
commit | 4763814c683c50f8a3697b74e764f19c3dacccd5 (patch) | |
tree | 386ff43f024705a32310b882f2161b5f86d8820a /src/blogc/content-parser.c | |
parent | c12bdb94ecdc44f200a8030dfde4a5ec46053ea6 (diff) | |
download | blogc-4763814c683c50f8a3697b74e764f19c3dacccd5.tar.gz blogc-4763814c683c50f8a3697b74e764f19c3dacccd5.tar.bz2 blogc-4763814c683c50f8a3697b74e764f19c3dacccd5.zip |
migrate codebase to use squareball. again :)feature/squareball
Diffstat (limited to 'src/blogc/content-parser.c')
-rw-r--r-- | src/blogc/content-parser.c | 336 |
1 files changed, 168 insertions, 168 deletions
diff --git a/src/blogc/content-parser.c b/src/blogc/content-parser.c index 047af4b..829638e 100644 --- a/src/blogc/content-parser.c +++ b/src/blogc/content-parser.c @@ -9,9 +9,9 @@ #include <stdbool.h> #include <stdlib.h> #include <string.h> +#include <squareball.h> #include "content-parser.h" -#include "../common/utils.h" // this is a half ass implementation of a markdown-like syntax. bugs are // expected. feel free to improve the parser and add new features. @@ -22,7 +22,7 @@ blogc_slugify(const char *str) { if (str == NULL) return NULL; - char *new_str = bc_strdup(str); + char *new_str = sb_strdup(str); int diff = 'a' - 'A'; // just to avoid magic numbers for (size_t i = 0; new_str[i] != '\0'; i++) { if (new_str[i] >= 'a' && new_str[i] <= 'z') @@ -60,13 +60,13 @@ htmlentities(char c) static void -htmlentities_append(bc_string_t *str, char c) +htmlentities_append(sb_string_t *str, char c) { const char *e = htmlentities(c); if (e == NULL) - bc_string_append_c(str, c); + sb_string_append_c(str, c); else - bc_string_append(str, e); + sb_string_append(str, e); } @@ -75,10 +75,10 @@ blogc_htmlentities(const char *str) { if (str == NULL) return NULL; - bc_string_t *rv = bc_string_new(); + sb_string_t *rv = sb_string_new(); for (size_t i = 0; str[i] != '\0'; i++) htmlentities_append(rv, str[i]); - return bc_string_free(rv, false); + return sb_string_free(rv, false); } @@ -87,7 +87,7 @@ blogc_fix_description(const char *paragraph) { if (paragraph == NULL) return NULL; - bc_string_t *rv = bc_string_new(); + sb_string_t *rv = sb_string_new(); bool last = false; bool newline = false; char *tmp = NULL; @@ -101,12 +101,12 @@ blogc_fix_description(const char *paragraph) case '\n': if (newline) break; - tmp = bc_strndup(paragraph + start, current - start); - bc_string_append(rv, bc_str_strip(tmp)); + tmp = sb_strndup(paragraph + start, current - start); + sb_string_append(rv, sb_str_strip(tmp)); free(tmp); tmp = NULL; if (!last) - bc_string_append_c(rv, ' '); + sb_string_append_c(rv, ' '); start = current + 1; newline = true; break; @@ -117,8 +117,8 @@ blogc_fix_description(const char *paragraph) break; current++; } - tmp = blogc_htmlentities(bc_str_strip(rv->str)); - bc_string_free(rv, true); + tmp = blogc_htmlentities(sb_str_strip(rv->str)); + sb_string_free(rv, true); return tmp; } @@ -190,7 +190,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) size_t start_link = 0; char *link1 = NULL; - bc_string_t *rv = bc_string_new(); + sb_string_t *rv = sb_string_new(); blogc_content_parser_inline_state_t state = CONTENT_INLINE_START; @@ -244,15 +244,15 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) state = CONTENT_INLINE_ASTERISK_DOUBLE; break; } - tmp = bc_str_find(src + current, '*'); + tmp = sb_str_find(src + current, '*'); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '*'); + sb_string_append_c(rv, '*'); state = CONTENT_INLINE_START; continue; } tmp2 = blogc_content_parse_inline_internal( src + current, (tmp - src) - current); - bc_string_append_printf(rv, "<em>%s</em>", tmp2); + sb_string_append_printf(rv, "<em>%s</em>", tmp2); current = tmp - src; tmp = NULL; free(tmp2); @@ -263,21 +263,21 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_ASTERISK_DOUBLE: tmp = src + current; do { - tmp = bc_str_find(tmp, '*'); + tmp = sb_str_find(tmp, '*'); if (((tmp - src) < src_len) && *(tmp + 1) == '*') { break; } tmp++; } while (tmp != NULL && (tmp - src) < src_len); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '*'); - bc_string_append_c(rv, '*'); + sb_string_append_c(rv, '*'); + sb_string_append_c(rv, '*'); state = CONTENT_INLINE_START; continue; } tmp2 = blogc_content_parse_inline_internal( src + current, (tmp - src) - current); - bc_string_append_printf(rv, "<strong>%s</strong>", tmp2); + sb_string_append_printf(rv, "<strong>%s</strong>", tmp2); current = tmp - src + 1; tmp = NULL; free(tmp2); @@ -290,15 +290,15 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) state = CONTENT_INLINE_UNDERSCORE_DOUBLE; break; } - tmp = bc_str_find(src + current, '_'); + tmp = sb_str_find(src + current, '_'); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '_'); + sb_string_append_c(rv, '_'); state = CONTENT_INLINE_START; continue; } tmp2 = blogc_content_parse_inline_internal( src + current, (tmp - src) - current); - bc_string_append_printf(rv, "<em>%s</em>", tmp2); + sb_string_append_printf(rv, "<em>%s</em>", tmp2); current = tmp - src; tmp = NULL; free(tmp2); @@ -309,21 +309,21 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_UNDERSCORE_DOUBLE: tmp = src + current; do { - tmp = bc_str_find(tmp, '_'); + tmp = sb_str_find(tmp, '_'); if (((tmp - src) < src_len) && *(tmp + 1) == '_') { break; } tmp++; } while (tmp != NULL && (tmp - src) < src_len); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '_'); - bc_string_append_c(rv, '_'); + sb_string_append_c(rv, '_'); + sb_string_append_c(rv, '_'); state = CONTENT_INLINE_START; continue; } tmp2 = blogc_content_parse_inline_internal( src + current, (tmp - src) - current); - bc_string_append_printf(rv, "<strong>%s</strong>", tmp2); + sb_string_append_printf(rv, "<strong>%s</strong>", tmp2); current = tmp - src + 1; tmp = NULL; free(tmp2); @@ -336,19 +336,19 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) state = CONTENT_INLINE_BACKTICKS_DOUBLE; break; } - tmp = bc_str_find(src + current, '`'); + tmp = sb_str_find(src + current, '`'); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '`'); + sb_string_append_c(rv, '`'); state = CONTENT_INLINE_START; continue; } - tmp3 = bc_strndup(src + current, (tmp - src) - current); + tmp3 = sb_strndup(src + current, (tmp - src) - current); tmp2 = blogc_htmlentities(tmp3); free(tmp3); tmp3 = NULL; - bc_string_append(rv, "<code>"); - bc_string_append(rv, tmp2); - bc_string_append(rv, "</code>"); + sb_string_append(rv, "<code>"); + sb_string_append(rv, tmp2); + sb_string_append(rv, "</code>"); current = tmp - src; tmp = NULL; free(tmp2); @@ -359,25 +359,25 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_BACKTICKS_DOUBLE: tmp = src + current; do { - tmp = bc_str_find(tmp, '`'); + tmp = sb_str_find(tmp, '`'); if (((tmp - src) < src_len) && *(tmp + 1) == '`') { break; } tmp++; } while (tmp != NULL && (tmp - src) < src_len); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '`'); - bc_string_append_c(rv, '`'); + sb_string_append_c(rv, '`'); + sb_string_append_c(rv, '`'); state = CONTENT_INLINE_START; continue; } - tmp3 = bc_strndup(src + current, (tmp - src) - current); + tmp3 = sb_strndup(src + current, (tmp - src) - current); tmp2 = blogc_htmlentities(tmp3); free(tmp3); tmp3 = NULL; - bc_string_append(rv, "<code>"); - bc_string_append(rv, tmp2); - bc_string_append(rv, "</code>"); + sb_string_append(rv, "<code>"); + sb_string_append(rv, tmp2); + sb_string_append(rv, "</code>"); current = tmp - src + 1; tmp = NULL; free(tmp2); @@ -398,24 +398,24 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_LINK_AUTO: tmp = src + current; do { - tmp = bc_str_find(tmp, ']'); + tmp = sb_str_find(tmp, ']'); if (((tmp - src) < src_len) && *(tmp + 1) == ']') { break; } tmp++; } while (tmp != NULL && (tmp - src) < src_len); if (tmp == NULL || ((tmp - src) >= src_len)) { - bc_string_append_c(rv, '['); - bc_string_append_c(rv, '['); + sb_string_append_c(rv, '['); + sb_string_append_c(rv, '['); state = CONTENT_INLINE_START; continue; } - tmp2 = bc_strndup(src + current, (tmp - src) - current); - bc_string_append(rv, "<a href=\""); - bc_string_append_escaped(rv, tmp2); - bc_string_append(rv, "\">"); - bc_string_append_escaped(rv, tmp2); - bc_string_append(rv, "</a>"); + tmp2 = sb_strndup(src + current, (tmp - src) - current); + sb_string_append(rv, "<a href=\""); + sb_string_append_escaped(rv, tmp2); + sb_string_append(rv, "\">"); + sb_string_append_escaped(rv, tmp2); + sb_string_append(rv, "</a>"); current = tmp - src + 1; tmp = NULL; free(tmp2); @@ -434,7 +434,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) } if (c == ']') { if (--count == 0) { - link1 = bc_strndup(src + start_link, current - start_link); + link1 = sb_strndup(src + start_link, current - start_link); state = CONTENT_INLINE_LINK_URL_START; } } @@ -448,7 +448,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) start = current + 1; break; } - bc_string_append_c(rv, '['); + sb_string_append_c(rv, '['); state = CONTENT_INLINE_START; current = start_link; start_link = 0; @@ -460,13 +460,13 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) break; } if (c == ')') { - tmp2 = bc_strndup(src + start, current - start); + tmp2 = sb_strndup(src + start, current - start); tmp3 = blogc_content_parse_inline(link1); free(link1); link1 = NULL; - bc_string_append(rv, "<a href=\""); - bc_string_append_escaped(rv, tmp2); - bc_string_append_printf(rv, "\">%s</a>", tmp3); + sb_string_append(rv, "<a href=\""); + sb_string_append_escaped(rv, tmp2); + sb_string_append_printf(rv, "\">%s</a>", tmp3); free(tmp2); tmp2 = NULL; free(tmp3); @@ -483,7 +483,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) start_link = current + 1; break; } - bc_string_append_c(rv, '!'); + sb_string_append_c(rv, '!'); state = CONTENT_INLINE_START; continue; @@ -493,7 +493,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) break; } if (c == ']') { - link1 = bc_strndup(src + start_link, current - start_link); + link1 = sb_strndup(src + start_link, current - start_link); state = CONTENT_INLINE_IMAGE_URL_START; } break; @@ -506,8 +506,8 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) start = current + 1; break; } - bc_string_append_c(rv, '!'); - bc_string_append_c(rv, '['); + sb_string_append_c(rv, '!'); + sb_string_append_c(rv, '['); state = CONTENT_INLINE_START; current = start_link; start_link = 0; @@ -519,12 +519,12 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) break; } if (c == ')') { - tmp2 = bc_strndup(src + start, current - start); - bc_string_append(rv, "<img src=\""); - bc_string_append_escaped(rv, tmp2); - bc_string_append(rv, "\" alt=\""); - bc_string_append_escaped(rv, link1); - bc_string_append(rv, "\">"); + tmp2 = sb_strndup(src + start, current - start); + sb_string_append(rv, "<img src=\""); + sb_string_append_escaped(rv, tmp2); + sb_string_append(rv, "\" alt=\""); + sb_string_append_escaped(rv, link1); + sb_string_append(rv, "\">"); free(tmp2); tmp2 = NULL; free(link1); @@ -537,31 +537,31 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_ENDASH: if (c == '-') { if (is_last) { - bc_string_append(rv, "–"); + sb_string_append(rv, "–"); state = CONTENT_INLINE_START; // wat break; } state = CONTENT_INLINE_EMDASH; break; } - bc_string_append_c(rv, '-'); + sb_string_append_c(rv, '-'); state = CONTENT_INLINE_START; continue; case CONTENT_INLINE_EMDASH: if (c == '-') { - bc_string_append(rv, "—"); + sb_string_append(rv, "—"); state = CONTENT_INLINE_START; break; } - bc_string_append(rv, "–"); + sb_string_append(rv, "–"); state = CONTENT_INLINE_START; continue; case CONTENT_INLINE_LINE_BREAK_START: if (c == ' ') { if (is_last) { - bc_string_append(rv, "<br />"); + sb_string_append(rv, "<br />"); state = CONTENT_INLINE_START; // wat break; } @@ -569,14 +569,14 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) state = CONTENT_INLINE_LINE_BREAK; break; } - bc_string_append_c(rv, ' '); + sb_string_append_c(rv, ' '); state = CONTENT_INLINE_START; continue; case CONTENT_INLINE_LINE_BREAK: if (c == ' ') { if (is_last) { - bc_string_append(rv, "<br />"); + sb_string_append(rv, "<br />"); state = CONTENT_INLINE_START; // wat break; } @@ -584,12 +584,12 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) break; } if (c == '\n' || c == '\r') { - bc_string_append_printf(rv, "<br />%c", c); + sb_string_append_printf(rv, "<br />%c", c); state = CONTENT_INLINE_START; break; } for (size_t i = 0; i < count; i++) - bc_string_append_c(rv, ' '); + sb_string_append_c(rv, ' '); state = CONTENT_INLINE_START; continue; } @@ -604,14 +604,14 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) case CONTENT_INLINE_IMAGE_ALT: case CONTENT_INLINE_IMAGE_URL_START: case CONTENT_INLINE_IMAGE_URL: - bc_string_append_c(rv, '!'); + sb_string_append_c(rv, '!'); case CONTENT_INLINE_LINK_CONTENT: case CONTENT_INLINE_LINK_URL_START: case CONTENT_INLINE_LINK_URL: tmp2 = blogc_content_parse_inline(src + start_link); - bc_string_append_c(rv, '['); - bc_string_append_escaped(rv, tmp2); // no need to free, as it wil be done below. + sb_string_append_c(rv, '['); + sb_string_append_escaped(rv, tmp2); // no need to free, as it wil be done below. break; // add all the other states here explicitly, so the compiler helps us @@ -636,7 +636,7 @@ blogc_content_parse_inline_internal(const char *src, size_t src_len) free(tmp3); free(link1); - return bc_string_free(rv, false); + return sb_string_free(rv, false); } @@ -704,11 +704,11 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, char d = '\0'; - bc_slist_t *lines = NULL; - bc_slist_t *lines2 = NULL; + sb_slist_t *lines = NULL; + sb_slist_t *lines2 = NULL; - bc_string_t *rv = bc_string_new(); - bc_string_t *tmp_str = NULL; + sb_string_t *rv = sb_string_new(); + sb_string_t *tmp_str = NULL; blogc_content_parser_state_t state = CONTENT_START_LINE; @@ -835,16 +835,16 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { end = is_last && c != '\n' && c != '\r' ? src_len : (real_end != 0 ? real_end : current); - tmp = bc_strndup(src + start, end - start); + tmp = sb_strndup(src + start, end - start); if (first_header != NULL && *first_header == NULL) *first_header = blogc_htmlentities(tmp); parsed = blogc_content_parse_inline(tmp); slug = blogc_slugify(tmp); if (slug == NULL) - bc_string_append_printf(rv, "<h%d>%s</h%d>%s", + sb_string_append_printf(rv, "<h%d>%s</h%d>%s", header_level, parsed, header_level, line_ending); else - bc_string_append_printf(rv, "<h%d id=\"%s\">%s</h%d>%s", + sb_string_append_printf(rv, "<h%d id=\"%s\">%s</h%d>%s", header_level, slug, parsed, header_level, line_ending); free(slug); @@ -868,8 +868,8 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_HTML_END: if (c == '\n' || c == '\r' || is_last) { - tmp = bc_strndup(src + start, end - start); - bc_string_append_printf(rv, "%s%s", tmp, line_ending); + tmp = sb_strndup(src + start, end - start); + sb_string_append_printf(rv, "%s%s", tmp, line_ending); free(tmp); tmp = NULL; state = CONTENT_START_LINE; @@ -882,7 +882,7 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_BLOCKQUOTE: if (c == ' ' || c == '\t') break; - prefix = bc_strndup(src + start, current - start); + prefix = sb_strndup(src + start, current - start); state = CONTENT_BLOCKQUOTE_START; break; @@ -890,16 +890,16 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { end = is_last && c != '\n' && c != '\r' ? src_len : (real_end != 0 ? real_end : current); - tmp = bc_strndup(src + start2, end - start2); - if (bc_str_starts_with(tmp, prefix)) { - lines = bc_slist_append(lines, bc_strdup(tmp + strlen(prefix))); + tmp = sb_strndup(src + start2, end - start2); + if (sb_str_starts_with(tmp, prefix)) { + lines = sb_slist_append(lines, sb_strdup(tmp + strlen(prefix))); state = CONTENT_BLOCKQUOTE_END; } else { state = CONTENT_PARAGRAPH; free(prefix); prefix = NULL; - bc_slist_free_full(lines, free); + sb_slist_free_full(lines, free); lines = NULL; if (is_last) { free(tmp); @@ -915,21 +915,21 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_BLOCKQUOTE_END: if (c == '\n' || c == '\r' || is_last) { - tmp_str = bc_string_new(); - for (bc_slist_t *l = lines; l != NULL; l = l->next) - bc_string_append_printf(tmp_str, "%s%s", l->data, + tmp_str = sb_string_new(); + for (sb_slist_t *l = lines; l != NULL; l = l->next) + sb_string_append_printf(tmp_str, "%s%s", l->data, line_ending); // do not propagate title and description to blockquote parsing, // because we just want paragraphs from first level of // content. tmp = blogc_content_parse(tmp_str->str, NULL, NULL, NULL); - bc_string_append_printf(rv, "<blockquote>%s</blockquote>%s", + sb_string_append_printf(rv, "<blockquote>%s</blockquote>%s", tmp, line_ending); free(tmp); tmp = NULL; - bc_string_free(tmp_str, true); + sb_string_free(tmp_str, true); tmp_str = NULL; - bc_slist_free_full(lines, free); + sb_slist_free_full(lines, free); lines = NULL; free(prefix); prefix = NULL; @@ -945,7 +945,7 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_CODE: if (c == ' ' || c == '\t') break; - prefix = bc_strndup(src + start, current - start); + prefix = sb_strndup(src + start, current - start); state = CONTENT_CODE_START; break; @@ -953,16 +953,16 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { end = is_last && c != '\n' && c != '\r' ? src_len : (real_end != 0 ? real_end : current); - tmp = bc_strndup(src + start2, end - start2); - if (bc_str_starts_with(tmp, prefix)) { - lines = bc_slist_append(lines, bc_strdup(tmp + strlen(prefix))); + tmp = sb_strndup(src + start2, end - start2); + if (sb_str_starts_with(tmp, prefix)) { + lines = sb_slist_append(lines, sb_strdup(tmp + strlen(prefix))); state = CONTENT_CODE_END; } else { state = CONTENT_PARAGRAPH; free(prefix); prefix = NULL; - bc_slist_free_full(lines, free); + sb_slist_free_full(lines, free); lines = NULL; free(tmp); tmp = NULL; @@ -978,18 +978,18 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_CODE_END: if (c == '\n' || c == '\r' || is_last) { - bc_string_append(rv, "<pre><code>"); - for (bc_slist_t *l = lines; l != NULL; l = l->next) { + sb_string_append(rv, "<pre><code>"); + for (sb_slist_t *l = lines; l != NULL; l = l->next) { char *tmp_line = blogc_htmlentities(l->data); if (l->next == NULL) - bc_string_append_printf(rv, "%s", tmp_line); + sb_string_append_printf(rv, "%s", tmp_line); else - bc_string_append_printf(rv, "%s%s", tmp_line, + sb_string_append_printf(rv, "%s%s", tmp_line, line_ending); free(tmp_line); } - bc_string_append_printf(rv, "</code></pre>%s", line_ending); - bc_slist_free_full(lines, free); + sb_string_append_printf(rv, "</code></pre>%s", line_ending); + sb_slist_free_full(lines, free); lines = NULL; free(prefix); prefix = NULL; @@ -1015,7 +1015,7 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, } if (c == ' ' || c == '\t') break; - prefix = bc_strndup(src + start, current - start); + prefix = sb_strndup(src + start, current - start); state = CONTENT_UNORDERED_LIST_START; break; @@ -1036,7 +1036,7 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, break; } if (c == '\n' || c == '\r' || is_last) { - bc_string_append_printf(rv, "<hr />%s", line_ending); + sb_string_append_printf(rv, "<hr />%s", line_ending); state = CONTENT_START_LINE; start = current; d = '\0'; @@ -1049,30 +1049,30 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { end = is_last && c != '\n' && c != '\r' ? src_len : (real_end != 0 ? real_end : current); - tmp = bc_strndup(src + start2, end - start2); - tmp2 = bc_strdup_printf("%-*s", strlen(prefix), ""); - if (bc_str_starts_with(tmp, prefix)) { + tmp = sb_strndup(src + start2, end - start2); + tmp2 = sb_strdup_printf("%-*s", strlen(prefix), ""); + if (sb_str_starts_with(tmp, prefix)) { if (lines2 != NULL) { - tmp_str = bc_string_new(); - for (bc_slist_t *l = lines2; l != NULL; l = l->next) { + tmp_str = sb_string_new(); + for (sb_slist_t *l = lines2; l != NULL; l = l->next) { if (l->next == NULL) - bc_string_append_printf(tmp_str, "%s", l->data); + sb_string_append_printf(tmp_str, "%s", l->data); else - bc_string_append_printf(tmp_str, "%s%s", l->data, + sb_string_append_printf(tmp_str, "%s%s", l->data, line_ending); } - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines2, free); lines2 = NULL; parsed = blogc_content_parse_inline(tmp_str->str); - bc_string_free(tmp_str, true); - lines = bc_slist_append(lines, bc_strdup(parsed)); + sb_string_free(tmp_str, true); + lines = sb_slist_append(lines, sb_strdup(parsed)); free(parsed); parsed = NULL; } - lines2 = bc_slist_append(lines2, bc_strdup(tmp + strlen(prefix))); + lines2 = sb_slist_append(lines2, sb_strdup(tmp + strlen(prefix))); } - else if (bc_str_starts_with(tmp, tmp2)) { - lines2 = bc_slist_append(lines2, bc_strdup(tmp + strlen(prefix))); + else if (sb_str_starts_with(tmp, tmp2)) { + lines2 = sb_slist_append(lines2, sb_strdup(tmp + strlen(prefix))); } else { state = CONTENT_PARAGRAPH_END; @@ -1082,8 +1082,8 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, tmp2 = NULL; free(prefix); prefix = NULL; - bc_slist_free_full(lines, free); - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines, free); + sb_slist_free_full(lines2, free); lines = NULL; if (is_last) continue; @@ -1102,28 +1102,28 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { if (lines2 != NULL) { // FIXME: avoid repeting the code below - tmp_str = bc_string_new(); - for (bc_slist_t *l = lines2; l != NULL; l = l->next) { + tmp_str = sb_string_new(); + for (sb_slist_t *l = lines2; l != NULL; l = l->next) { if (l->next == NULL) - bc_string_append_printf(tmp_str, "%s", l->data); + sb_string_append_printf(tmp_str, "%s", l->data); else - bc_string_append_printf(tmp_str, "%s%s", l->data, + sb_string_append_printf(tmp_str, "%s%s", l->data, line_ending); } - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines2, free); lines2 = NULL; parsed = blogc_content_parse_inline(tmp_str->str); - bc_string_free(tmp_str, true); - lines = bc_slist_append(lines, bc_strdup(parsed)); + sb_string_free(tmp_str, true); + lines = sb_slist_append(lines, sb_strdup(parsed)); free(parsed); parsed = NULL; } - bc_string_append_printf(rv, "<ul>%s", line_ending); - for (bc_slist_t *l = lines; l != NULL; l = l->next) - bc_string_append_printf(rv, "<li>%s</li>%s", l->data, + sb_string_append_printf(rv, "<ul>%s", line_ending); + for (sb_slist_t *l = lines; l != NULL; l = l->next) + sb_string_append_printf(rv, "<li>%s</li>%s", l->data, line_ending); - bc_string_append_printf(rv, "</ul>%s", line_ending); - bc_slist_free_full(lines, free); + sb_string_append_printf(rv, "</ul>%s", line_ending); + sb_slist_free_full(lines, free); lines = NULL; free(prefix); prefix = NULL; @@ -1160,30 +1160,30 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { end = is_last && c != '\n' && c != '\r' ? src_len : (real_end != 0 ? real_end : current); - tmp = bc_strndup(src + start2, end - start2); - tmp2 = bc_strdup_printf("%-*s", prefix_len, ""); + tmp = sb_strndup(src + start2, end - start2); + tmp2 = sb_strdup_printf("%-*s", prefix_len, ""); if (blogc_is_ordered_list_item(tmp, prefix_len)) { if (lines2 != NULL) { - tmp_str = bc_string_new(); - for (bc_slist_t *l = lines2; l != NULL; l = l->next) { + tmp_str = sb_string_new(); + for (sb_slist_t *l = lines2; l != NULL; l = l->next) { if (l->next == NULL) - bc_string_append_printf(tmp_str, "%s", l->data); + sb_string_append_printf(tmp_str, "%s", l->data); else - bc_string_append_printf(tmp_str, "%s%s", l->data, + sb_string_append_printf(tmp_str, "%s%s", l->data, line_ending); } - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines2, free); lines2 = NULL; parsed = blogc_content_parse_inline(tmp_str->str); - bc_string_free(tmp_str, true); - lines = bc_slist_append(lines, bc_strdup(parsed)); + sb_string_free(tmp_str, true); + lines = sb_slist_append(lines, sb_strdup(parsed)); free(parsed); parsed = NULL; } - lines2 = bc_slist_append(lines2, bc_strdup(tmp + prefix_len)); + lines2 = sb_slist_append(lines2, sb_strdup(tmp + prefix_len)); } - else if (bc_str_starts_with(tmp, tmp2)) { - lines2 = bc_slist_append(lines2, bc_strdup(tmp + prefix_len)); + else if (sb_str_starts_with(tmp, tmp2)) { + lines2 = sb_slist_append(lines2, sb_strdup(tmp + prefix_len)); } else { state = CONTENT_PARAGRAPH_END; @@ -1193,8 +1193,8 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, tmp2 = NULL; free(parsed); parsed = NULL; - bc_slist_free_full(lines, free); - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines, free); + sb_slist_free_full(lines2, free); lines = NULL; if (is_last) continue; @@ -1213,28 +1213,28 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, if (c == '\n' || c == '\r' || is_last) { if (lines2 != NULL) { // FIXME: avoid repeting the code below - tmp_str = bc_string_new(); - for (bc_slist_t *l = lines2; l != NULL; l = l->next) { + tmp_str = sb_string_new(); + for (sb_slist_t *l = lines2; l != NULL; l = l->next) { if (l->next == NULL) - bc_string_append_printf(tmp_str, "%s", l->data); + sb_string_append_printf(tmp_str, "%s", l->data); else - bc_string_append_printf(tmp_str, "%s%s", l->data, + sb_string_append_printf(tmp_str, "%s%s", l->data, line_ending); } - bc_slist_free_full(lines2, free); + sb_slist_free_full(lines2, free); lines2 = NULL; parsed = blogc_content_parse_inline(tmp_str->str); - bc_string_free(tmp_str, true); - lines = bc_slist_append(lines, bc_strdup(parsed)); + sb_string_free(tmp_str, true); + lines = sb_slist_append(lines, sb_strdup(parsed)); free(parsed); parsed = NULL; } - bc_string_append_printf(rv, "<ol>%s", line_ending); - for (bc_slist_t *l = lines; l != NULL; l = l->next) - bc_string_append_printf(rv, "<li>%s</li>%s", l->data, + sb_string_append_printf(rv, "<ol>%s", line_ending); + for (sb_slist_t *l = lines; l != NULL; l = l->next) + sb_string_append_printf(rv, "<li>%s</li>%s", l->data, line_ending); - bc_string_append_printf(rv, "</ol>%s", line_ending); - bc_slist_free_full(lines, free); + sb_string_append_printf(rv, "</ol>%s", line_ending); + sb_slist_free_full(lines, free); lines = NULL; free(prefix); prefix = NULL; @@ -1258,11 +1258,11 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, case CONTENT_PARAGRAPH_END: if (c == '\n' || c == '\r' || is_last) { - tmp = bc_strndup(src + start, end - start); + tmp = sb_strndup(src + start, end - start); if (description != NULL && *description == NULL) *description = blogc_fix_description(tmp); parsed = blogc_content_parse_inline(tmp); - bc_string_append_printf(rv, "<p>%s</p>%s", parsed, + sb_string_append_printf(rv, "<p>%s</p>%s", parsed, line_ending); free(parsed); parsed = NULL; @@ -1280,5 +1280,5 @@ blogc_content_parse(const char *src, size_t *end_excerpt, char **first_header, current++; } - return bc_string_free(rv, false); + return sb_string_free(rv, false); } |