#include #include #include #include "utils.h" char * extract_fence_ext(const char *fence) { const char *start; const char *end; size_t len; char *ext; if (0 != strncmp(fence, "```", 3)) return (NULL); start = fence + 3; while (' ' == *start || '\t' == *start) start++; if ('\n' == *start || '\0' == *start) return (NULL); end = start; while ('\n' != *end && '\0' != *end && ' ' != *end && '\t' != *end) end++; len = (size_t)(end - start); ext = malloc(len + 1); if (NULL == ext) return (NULL); memcpy(ext, start, len); ext[len] = '\0'; return (ext); }