From: Fletcher T. Penney Date: Wed, 24 May 2017 14:25:59 +0000 (-0400) Subject: CHANGED: Refactor transclude_source to be part of main libMultiMarkdown.h X-Git-Tag: 6.0.6^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=072787d9986727e1e2473158ce8b02a745b8aa42;p=multimarkdown CHANGED: Refactor transclude_source to be part of main libMultiMarkdown.h --- diff --git a/CMakeLists.txt b/CMakeLists.txt index b09b664..50b613d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -486,9 +486,9 @@ ADD_PUBLIC_HEADER(libMultiMarkdown Sources/libMultiMarkdown/include/token.h) set_target_properties(libMultiMarkdown PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO") set_target_properties(multimarkdown PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH "NO") -# Use C99 -set_property(TARGET libMultiMarkdown PROPERTY C_STANDARD 99) -set_property(TARGET multimarkdown PROPERTY C_STANDARD 99) +# Use C11 +set_property(TARGET libMultiMarkdown PROPERTY C_STANDARD 11) +set_property(TARGET multimarkdown PROPERTY C_STANDARD 11) # ========================== diff --git a/Sources/libMultiMarkdown/include/libMultiMarkdown.h b/Sources/libMultiMarkdown/include/libMultiMarkdown.h index c5fe359..a4eaf0b 100644 --- a/Sources/libMultiMarkdown/include/libMultiMarkdown.h +++ b/Sources/libMultiMarkdown/include/libMultiMarkdown.h @@ -211,6 +211,17 @@ char * mmd_engine_metavalue_for_key(mmd_engine * e, const char * key); char * mmd_version(void); +// Read file into memory +DString * scan_file(const char * fname); + +/// MMD Engine is used for storing configuration information for MMD parser +typedef struct stack stack; + +/// Recursively transclude source text, given a search directory. +/// Track files to prevent infinite recursive loops +void mmd_transclude_source(DString * source, const char * search_path, const char * source_path, short format, struct stack * parsed, struct stack * manifest); + + /// Token types for parse tree enum token_types { DOC_START_TOKEN = 0, //!< DOC_START_TOKEN must be type 0 diff --git a/Sources/libMultiMarkdown/transclude.c b/Sources/libMultiMarkdown/transclude.c index b7badb9..36ca65b 100644 --- a/Sources/libMultiMarkdown/transclude.c +++ b/Sources/libMultiMarkdown/transclude.c @@ -274,7 +274,7 @@ DString * scan_file(const char * fname) { /// Recursively transclude source text, given a search directory. /// Track files to prevent infinite recursive loops -void transclude_source(DString * source, const char * search_path, const char * source_path, short format, stack * parsed, stack * manifest) { +void mmd_transclude_source(DString * source, const char * search_path, const char * source_path, short format, stack * parsed, stack * manifest) { DString * file_path; DString * buffer; @@ -429,7 +429,7 @@ void transclude_source(DString * source, const char * search_path, const char * char * source_filename; split_path_file(&new_search_path, &source_filename, file_path->str); - transclude_source(buffer, search_folder, new_search_path, format, parse_stack, manifest); + mmd_transclude_source(buffer, search_folder, new_search_path, format, parse_stack, manifest); free(new_search_path); free(source_filename); diff --git a/Sources/libMultiMarkdown/transclude.h b/Sources/libMultiMarkdown/transclude.h index 9dda79a..364ab60 100644 --- a/Sources/libMultiMarkdown/transclude.h +++ b/Sources/libMultiMarkdown/transclude.h @@ -73,7 +73,7 @@ DString * scan_file(const char * fname); /// Recursively transclude source text, given a search directory. /// Track files to prevent infinite recursive loops -void transclude_source(DString * source, const char * search_path, const char * source_path, short format, stack * parsed, stack * manifest); +void mmd_transclude_source(DString * source, const char * search_path, const char * source_path, short format, stack * parsed, stack * manifest); #endif diff --git a/Sources/multimarkdown/main.c b/Sources/multimarkdown/main.c index 2a7fce7..a7f030a 100644 --- a/Sources/multimarkdown/main.c +++ b/Sources/multimarkdown/main.c @@ -66,7 +66,6 @@ #include "i18n.h" #include "libMultiMarkdown.h" #include "token.h" -#include "transclude.h" #include "uuid.h" #include "version.h" @@ -82,7 +81,7 @@ struct arg_rem *a_rem1, *a_rem2, *a_rem3, *a_rem4, *a_rem5, *a_rem6; DString * stdin_buffer() { - /* Read from stdin and return a GString * + /* Read from stdin and return a DString * `buffer` will need to be freed elsewhere */ char chunk[kBUFFERSIZE]; @@ -342,7 +341,7 @@ int main(int argc, char** argv) { if (extensions & EXT_TRANSCLUDE) { - transclude_source(buffer, folder, "", format, NULL, NULL); + mmd_transclude_source(buffer, folder, "", format, NULL, NULL); // Don't free folder -- owned by dirname } @@ -440,7 +439,7 @@ int main(int argc, char** argv) { // Perform transclusion(s) char * folder = dirname((char *) a_file->filename[0]); - transclude_source(buffer, folder, "", format, NULL, NULL); + mmd_transclude_source(buffer, folder, "", format, NULL, NULL); // Don't free folder -- owned by dirname }