From cd9a269bbda29a26a9bf6b8b47bd12dec64e3df2 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sun, 1 Feb 2015 23:46:48 +0100 Subject: Don't rely on strnlen being available --- src/CMakeLists.txt | 2 +- src/houdini_html_u.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 044b7e4..2179c08 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -136,7 +136,7 @@ if(MSVC) endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4127 /wd4244 /wd4267 /wd4706 /wd4800 /D_CRT_SECURE_NO_WARNINGS") elseif(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -std=c99 -pedantic -D_GNU_SOURCE") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -std=c99 -pedantic") endif() # Compile as C++ under MSVC diff --git a/src/houdini_html_u.c b/src/houdini_html_u.c index ecd7faa..2cb14b4 100644 --- a/src/houdini_html_u.c +++ b/src/houdini_html_u.c @@ -55,7 +55,10 @@ houdini_unescape_ent(cmark_strbuf *ob, const uint8_t *src, size_t size) const struct html_ent *entity = find_entity((char *)src, i); if (entity != NULL) { - size_t len = strnlen((const char *)entity->utf8, 4); + int len = 0; + while (len < 4 && entity->utf8[len] != '\0') { + ++len; + } cmark_strbuf_put(ob, entity->utf8, len); return i + 1; } -- cgit v1.2.3