diff options
author | Ali Fardan <raiz@stellarbound.space> | 2020-10-23 18:06:05 +0300 |
---|---|---|
committer | Ali Fardan <raiz@stellarbound.space> | 2020-10-23 18:06:05 +0300 |
commit | 41cee4661d176e8ff765afad0e920992aaa70853 (patch) | |
tree | d9c43405d4370de82284aa83689f306562b18e6c | |
parent | f0c842e82a7304f75feee03bd22b9b822747deff (diff) | |
download | libgemtext-41cee4661d176e8ff765afad0e920992aaa70853.tar.gz |
allow passing NULL pointer to gemtext_encode() len
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | encode.c | 24 | ||||
-rw-r--r-- | gemtext_encode.3 | 4 |
3 files changed, 19 insertions, 10 deletions
diff --git a/Makefile b/Makefile index 7bc8f5d..271bc75 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,6 @@ AR = ar CC = cc CFLAGS = -g -O0 -Wall -Wextra -LDFLAGS = -shared TARGET_LIB_DYNAMIC = libgemtext.so TARGET_LIB_STATIC = libgemtext.a diff --git a/encode.c b/encode.c index e8674ad..ae8cba1 100644 --- a/encode.c +++ b/encode.c @@ -214,49 +214,57 @@ gemtext_encode(struct gemtext *line, char **text, int *len) *text = _case_text(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_LINK: *text = _case_link(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_PRE: *text = _case_pre(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_H1: *text = _case_h1(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_H2: *text = _case_h2(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_H3: *text = _case_h3(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_UL: *text = _case_ul(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; case GEMTEXT_QT: *text = _case_qt(line); if (*text == NULL) return -1; - *len = strlen(*text); + if (len) + *len = strlen(*text); return 0; } diff --git a/gemtext_encode.3 b/gemtext_encode.3 index 6a0c2bd..a72b56e 100644 --- a/gemtext_encode.3 +++ b/gemtext_encode.3 @@ -55,7 +55,9 @@ to the encoded text and sets .Em int pointed to by .Em lenptr -to the size of the encoded text excluding terminating NULL byte. +to the size of the encoded text excluding terminating NULL byte, this can be discarded by setting +.Em lenptr +to NULL. .Pp Upon success, pointer set at .Em *textptr |