From eada41977a4dc6da389d3bdefe7116ac2b1d75bd Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sat, 9 May 2015 16:30:50 +0200 Subject: Allow NULL value in string setters Supersedes pull request #34. --- src/chunk.h | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/chunk.h') diff --git a/src/chunk.h b/src/chunk.h index 8b4333a..3d6743c 100644 --- a/src/chunk.h +++ b/src/chunk.h @@ -80,10 +80,17 @@ static inline void cmark_chunk_set_cstr(cmark_chunk *c, const char *str) if (c->alloc) { free(c->data); } - c->len = strlen(str); - c->data = (unsigned char *)malloc(c->len + 1); - c->alloc = 1; - memcpy(c->data, str, c->len + 1); + if (str == NULL) { + c->len = 0; + c->data = NULL; + c->alloc = 0; + } + else { + c->len = strlen(str); + c->data = (unsigned char *)malloc(c->len + 1); + c->alloc = 1; + memcpy(c->data, str, c->len + 1); + } } static inline cmark_chunk cmark_chunk_literal(const char *data) -- cgit v1.2.3