diff --git a/lib/gis/parser_local_proto.h b/lib/gis/parser_local_proto.h index 43a4ab0cd29..0db86b61a9e 100644 --- a/lib/gis/parser_local_proto.h +++ b/lib/gis/parser_local_proto.h @@ -64,7 +64,7 @@ void G__md_print_python_short_version(FILE *file, const char *indent, void G__md_print_cli_long_version(FILE *file, const char *indent); void G__md_print_python_long_version(FILE *file, const char *indent, bool tools_api); -void G__md_print_escaped(FILE *f, const char *str); +void G__md_print_escaped(FILE *f, const char *str, const char *indent); void G__md_print_escaped_for_options(FILE *f, const char *str); int G__option_num_tuple_items(const struct Option *opt); diff --git a/lib/gis/parser_md_cli.c b/lib/gis/parser_md_cli.c index 9d687d20bb3..a2a263c06a2 100644 --- a/lib/gis/parser_md_cli.c +++ b/lib/gis/parser_md_cli.c @@ -35,15 +35,15 @@ void print_cli_flag(FILE *file, const char *key, const char *label, fprintf(file, "\n"); if (label != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, label); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, label, indent); fprintf(file, MD_NEWLINE); fprintf(file, "\n"); } if (description != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, description); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, description, indent); } } @@ -82,8 +82,8 @@ void print_cli_option(FILE *file, const struct Option *opt, const char *indent) fprintf(file, "\n"); if (opt->label) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, opt->label); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, opt->label, indent); } if (opt->description) { if (opt->label) { @@ -91,15 +91,15 @@ void print_cli_option(FILE *file, const struct Option *opt, const char *indent) fprintf(file, "\n"); } fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, opt->description); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, opt->description, indent); } if (opt->options) { fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "%s: *", _("Allowed values")); G__md_print_escaped_for_options(file, opt->options); fprintf(file, "*"); @@ -109,10 +109,10 @@ void print_cli_option(FILE *file, const struct Option *opt, const char *indent) fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "%s:", _("Default")); fprintf(file, " *"); - G__md_print_escaped(file, opt->def); + G__md_print_escaped(file, opt->def, indent); fprintf(file, "*"); } @@ -137,19 +137,19 @@ void print_cli_option(FILE *file, const struct Option *opt, const char *indent) thumbnails = "northarrows"; if (thumbnails) { - G__md_print_escaped(file, "\t\t"); + G__md_print_escaped(file, "\t\t", indent); fprintf(file, "![%s](%s/%s.png) ", opt->opts[i], thumbnails, opt->opts[i]); } else { - G__md_print_escaped(file, "\t\t"); + G__md_print_escaped(file, "\t\t", indent); } } - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "**"); - G__md_print_escaped(file, opt->opts[i]); + G__md_print_escaped(file, opt->opts[i], indent); fprintf(file, "**: "); - G__md_print_escaped(file, opt->descs[i]); + G__md_print_escaped(file, opt->descs[i], indent); } i++; } diff --git a/lib/gis/parser_md_common.c b/lib/gis/parser_md_common.c index a26c50d76c9..d3d888b34aa 100644 --- a/lib/gis/parser_md_common.c +++ b/lib/gis/parser_md_common.c @@ -26,17 +26,27 @@ fputs(escaped, f); \ break -void G__md_print_escaped(FILE *f, const char *str) +void G__md_print_escaped(FILE *f, const char *str, const char *indent) { const char *s; - for (s = str; *s; s++) { switch (*s) { - do_escape('\n', "\\\n"); - do_escape('\t', "    "); - do_escape('<', "<"); - do_escape('>', ">"); - do_escape('*', "\\*"); + case '\n': + fputs(MD_NEWLINE "\n", f); + fputs(indent, f); + break; + case '\t': + fputs("    ", f); + break; + case '<': + fputs("<", f); + break; + case '>': + fputs(">", f); + break; + case '*': + fputs("\\*", f); + break; default: fputc(*s, f); } diff --git a/lib/gis/parser_md_python.c b/lib/gis/parser_md_python.c index e370961023c..e7eb1ec111d 100644 --- a/lib/gis/parser_md_python.c +++ b/lib/gis/parser_md_python.c @@ -36,21 +36,21 @@ void print_python_short_flag(FILE *file, const char *key, const char *label, const char *description, const char *indent) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "**%s**", key); fprintf(file, MD_NEWLINE); fprintf(file, "\n"); if (label != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t\t"); - G__md_print_escaped(file, label); + G__md_print_escaped(file, "\t\t", indent); + G__md_print_escaped(file, label, indent); fprintf(file, MD_NEWLINE); fprintf(file, "\n"); } if (description != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t\t"); - G__md_print_escaped(file, description); + G__md_print_escaped(file, "\t\t", indent); + G__md_print_escaped(file, description, indent); } } @@ -62,20 +62,20 @@ void print_python_long_flag(FILE *file, const char *key, const char *label, fprintf(file, "\n"); if (label != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, label); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, label, indent); fprintf(file, MD_NEWLINE); fprintf(file, "\n"); } if (description != NULL) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, description); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, description, indent); fprintf(file, MD_NEWLINE); fprintf(file, "\n"); } fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); const char *flag_default = "*None*"; fprintf(file, "Default: %s", flag_default); } @@ -172,8 +172,8 @@ void print_python_option(FILE *file, const struct Option *opt, fprintf(file, "\n"); if (opt->label) { fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, opt->label); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, opt->label, indent); } if (opt->description) { if (opt->label) { @@ -181,14 +181,14 @@ void print_python_option(FILE *file, const struct Option *opt, fprintf(file, "\n"); } fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); - G__md_print_escaped(file, opt->description); + G__md_print_escaped(file, "\t", indent); + G__md_print_escaped(file, opt->description, indent); } if (opt->gisprompt || opt->key_desc) { fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "%s: ", _("Used as")); } if (opt->gisprompt) { @@ -213,7 +213,7 @@ void print_python_option(FILE *file, const struct Option *opt, fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "%s: *", _("Allowed values")); G__md_print_escaped_for_options(file, opt->options); fprintf(file, "*"); @@ -240,19 +240,19 @@ void print_python_option(FILE *file, const struct Option *opt, thumbnails = "northarrows"; if (thumbnails) { - G__md_print_escaped(file, "\t\t"); + G__md_print_escaped(file, "\t\t", indent); fprintf(file, "![%s](%s/%s.png) ", opt->opts[i], thumbnails, opt->opts[i]); } else { - G__md_print_escaped(file, "\t\t"); + G__md_print_escaped(file, "\t\t", indent); } } - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "**"); - G__md_print_escaped(file, opt->opts[i]); + G__md_print_escaped(file, opt->opts[i], indent); fprintf(file, "**: "); - G__md_print_escaped(file, opt->descs[i]); + G__md_print_escaped(file, opt->descs[i], indent); } i++; } @@ -262,10 +262,10 @@ void print_python_option(FILE *file, const struct Option *opt, fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "%s:", _("Default")); fprintf(file, " *"); - G__md_print_escaped(file, opt->def); + G__md_print_escaped(file, opt->def, indent); fprintf(file, "*"); } } @@ -465,12 +465,12 @@ void G__md_print_python_short_version(FILE *file, const char *indent, if (!tuple_items && (opt->type == TYPE_INTEGER || opt->type == TYPE_DOUBLE)) { fprintf(file, "*"); - G__md_print_escaped(file, opt->answer); + G__md_print_escaped(file, opt->answer, indent); fprintf(file, "*"); } else { fprintf(file, "*\""); - G__md_print_escaped(file, opt->answer); + G__md_print_escaped(file, opt->answer, indent); fprintf(file, "\"*"); } } @@ -529,7 +529,7 @@ void G__md_print_python_long_version(FILE *file, const char *indent, fprintf(file, MD_NEWLINE); fprintf(file, "\n"); fprintf(file, "%s", indent); - G__md_print_escaped(file, "\t"); + G__md_print_escaped(file, "\t", indent); fprintf(file, "Allowed values: "); flag = &st->first_flag; while (st->n_flags && flag != NULL) {