diff options
author | Linnnus <[email protected]> | 2024-02-17 00:38:57 +0100 |
---|---|---|
committer | Linnnus <[email protected]> | 2024-02-17 00:48:21 +0100 |
commit | cd39c2a2fdf57b82fa8584cac3c201b8aafb72b5 (patch) | |
tree | 6809203eccbe7af52f422f711b9815c0f149927f | |
parent | ad937750d754676f8e9e01ce2c1021ad1a80ee04 (diff) |
chore: avoid sign warnings
-rw-r--r-- | src/creole.c | 32 | ||||
-rw-r--r-- | src/strutil.c | 6 |
2 files changed, 19 insertions, 19 deletions
diff --git a/src/creole.c b/src/creole.c index 9331bcb..8bdeb19 100644 --- a/src/creole.c +++ b/src/creole.c @@ -13,12 +13,12 @@ #define DEBUG(...) (fprintf(stderr, __VA_ARGS__), fflush(stderr)) void process(const char *begin, const char *end, bool new_block, FILE *out); -int do_headers(const char *begin, const char *end, bool new_block, FILE *out); -int do_paragraph(const char *begin, const char *end, bool new_block, FILE *out); -int do_replacements(const char *begin, const char *end, bool new_block, FILE *out); -int do_link(const char *begin, const char *end, bool new_block, FILE *out); -int do_raw_url(const char *begin, const char *end, bool new_block, FILE *out); -int do_emphasis(const char *begin, const char *end, bool new_block, FILE *out); +long do_headers(const char *begin, const char *end, bool new_block, FILE *out); +long do_paragraph(const char *begin, const char *end, bool new_block, FILE *out); +long do_replacements(const char *begin, const char *end, bool new_block, FILE *out); +long do_link(const char *begin, const char *end, bool new_block, FILE *out); +long do_raw_url(const char *begin, const char *end, bool new_block, FILE *out); +long do_emphasis(const char *begin, const char *end, bool new_block, FILE *out); // Prints string escaped. void hprint(FILE *out, const char *begin, const char *end) { @@ -41,11 +41,11 @@ void hprint(FILE *out, const char *begin, const char *end) { // // The parameter `new_block` determines whether `begin` points to the beginning of a new block. // The sign of the return value determines whether a new block should begin, after the consumed text. -typedef int (* parser_t)(const char *begin, const char *end, bool new_block, FILE *out); +typedef long (* parser_t)(const char *begin, const char *end, bool new_block, FILE *out); static parser_t parsers[] = { do_headers, do_paragraph, do_emphasis, do_link, do_raw_url, do_replacements }; -int do_headers(const char *begin, const char *end, bool new_block, FILE *out) { +long do_headers(const char *begin, const char *end, bool new_block, FILE *out) { if (!new_block) { // Headers are block-level elements. return 0; } @@ -86,7 +86,7 @@ int do_headers(const char *begin, const char *end, bool new_block, FILE *out) { return -(eol - begin); } -int do_paragraph(const char *begin, const char *end, bool new_block, FILE *out) { +long do_paragraph(const char *begin, const char *end, bool new_block, FILE *out) { if (!new_block) { // Paragraphs are block-level elements. return 0; } @@ -123,11 +123,11 @@ static struct { {"&", "&"}, }; -int do_replacements(const char *begin, const char *end, bool new_block, FILE *out) +long do_replacements(const char *begin, const char *end, bool new_block, FILE *out) { for (unsigned i = 0; i < LENGTH(replacements); ++i) { size_t length = strlen(replacements[i].from); - if (end - begin < length) { + if ((size_t)(end - begin) < length) { continue; } if (strncmp(replacements[i].from, begin, length) == 0) { @@ -139,7 +139,7 @@ int do_replacements(const char *begin, const char *end, bool new_block, FILE *ou return 0; } -int do_link(const char *begin, const char *end, bool new_block, FILE *out) +long do_link(const char *begin, const char *end, bool new_block, FILE *out) { // Links start with "[[". if (begin + 2 >= end || begin[0] != '[' || begin[1] != '[') { @@ -182,7 +182,7 @@ int do_link(const char *begin, const char *end, bool new_block, FILE *out) return stop - start + 4 /* [[]] */; } -int do_raw_url(const char *begin, const char *end, bool new_block, FILE *out) +long do_raw_url(const char *begin, const char *end, bool new_block, FILE *out) { // Eat a scheme followed by a ":". Here are the relevant rules from RFC 3986. // - URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] @@ -246,7 +246,7 @@ end_url: return q - begin; } -int do_emphasis(const char *begin, const char *end, bool new_block, FILE *out) { +long do_emphasis(const char *begin, const char *end, bool new_block, FILE *out) { if (begin + 2 >= end || begin[0] != '/' || begin[1] != '/') { return 0; } @@ -281,7 +281,7 @@ void process(const char *begin, const char *end, bool new_block, FILE *out) { } // Greedily try all parsers. - int affected; + long affected; for (unsigned i = 0; i < LENGTH(parsers); ++i) { affected = parsers[i](p, end, new_block, out); if (affected) { @@ -289,7 +289,7 @@ void process(const char *begin, const char *end, bool new_block, FILE *out) { } } if (affected) { - p += abs(affected); + p += labs(affected); } else { fputc(*p, out); p += 1; diff --git a/src/strutil.c b/src/strutil.c index 46778ae..cf0fa68 100644 --- a/src/strutil.c +++ b/src/strutil.c @@ -82,13 +82,13 @@ char *replace(struct arena *a, const char *orig, const char *rep, const char *wi char *tmp; // varies - int len_rep = strlen(rep); + size_t len_rep = strlen(rep); if (len_rep == 0) { errno = EINVAL; // empty rep causes infinite loop during count return NULL; } - int len_with; + size_t len_with; if (with == NULL) with = ""; len_with = strlen(with); @@ -111,7 +111,7 @@ char *replace(struct arena *a, const char *orig, const char *rep, const char *wi // orig points to the remainder of orig after "end of rep" while (count--) { ins = strstr(orig, rep); - int len_front = ins - orig; + ssize_t len_front = ins - orig; tmp = strncpy(tmp, orig, len_front) + len_front; tmp = strcpy(tmp, with) + len_with; orig += len_front + len_rep; // move to next "end of rep" |