diff --git a/smu.c b/smu.c index 8860f05..b7a0b53 100644 --- a/smu.c +++ b/smu.c @@ -38,7 +38,7 @@ b[i] = a; \ } while (0) -typedef int (*Parser)(const char *, const char *, int); +typedef int (*parser)(const char *, const char *, int); struct tag { char *search; int process; @@ -49,25 +49,25 @@ struct tag { off64_t get_file_size(const char *); char *read_file(const char *, off64_t); -static int doamp(const char *begin, const char *end, int newblock); -static int docomment(const char *begin, const char *end, int newblock); -static int dogtlt(const char *begin, const char *end, int newblock); -static int dohtml(const char *begin, const char *end, int newblock); -static int dolineprefix(const char *begin, const char *end, int newblock); -static int dolink(const char *begin, const char *end, int newblock); -static int dolist(const char *begin, const char *end, int newblock); -static int doparagraph(const char *begin, const char *end, int newblock); -static int doreplace(const char *begin, const char *end, int newblock); -static int doshortlink(const char *begin, const char *end, int newblock); -static int dosurround(const char *begin, const char *end, int newblock); -static int dounderline(const char *begin, const char *end, int newblock); -static void *ereallocz(void *p, size_t size); -static void eprint(const char *format, ...); -static void hprint(const char *begin, const char *end); -static int process(const char *begin, const char *end, int isblock); +static int doamp(const char *, const char *, int); +static int docomment(const char *, const char *, int); +static int dogtlt(const char *, const char *, int); +static int dohtml(const char *, const char *, int); +static int dolineprefix(const char *, const char *, int); +static int dolink(const char *, const char *, int); +static int dolist(const char *, const char *, int); +static int doparagraph(const char *, const char *, int); +static int doreplace(const char *, const char *, int); +static int doshortlink(const char *, const char *, int); +static int dosurround(const char *, const char *, int); +static int dounderline(const char *, const char *, int); +static void *ereallocz(void *, size_t); +static void eprint(const char *, ...); +static void hprint(const char *, const char *); +static int process(const char *, const char *, int); /* list of parsers */ -static Parser parsers[] = { dounderline, docomment, dolineprefix, dolist, +static parser parsers[] = { dounderline, docomment, dolineprefix, dolist, doparagraph, dogtlt, dosurround, dolink, doshortlink, dohtml, doamp, doreplace }; static int nohtml = 0; @@ -211,7 +211,9 @@ int docomment(const char *begin, const char *end, int newblock) int dohtml(const char *begin, const char *end, int newblock) { - const char *p, *tag, *tagend; + const char *p; + const char *tag; + const char *tagend; if (nohtml || begin + 2 >= end) return 0; @@ -311,9 +313,18 @@ int dolineprefix(const char *begin, const char *end, int newblock) int dolink(const char *begin, const char *end, int newblock) { - int img, len, sep, parens_depth = 1; - const char *desc, *link, *p, *q, *descend, *linkend; - const char *title = NULL, *titleend = NULL; + int img; + int len; + int sep; + int parens_depth = 1; + const char *desc; + const char *link; + const char *p; + const char *q; + const char *descend; + const char *linkend; + const char *title = NULL; + const char *titleend = NULL; if (*begin == '[') img = 0; @@ -398,8 +409,14 @@ int dolink(const char *begin, const char *end, int newblock) int dolist(const char *begin, const char *end, int newblock) { - unsigned int i, j, indent, run, ul, isblock; - const char *p, *q; + unsigned int i; + unsigned int j; + unsigned int indent; + unsigned int run; + unsigned int ul; + unsigned int isblock; + const char *p; + const char *q; char *buffer = NULL; char marker = 0; @@ -520,7 +537,8 @@ int doparagraph(const char *begin, const char *end, int newblock) int doreplace(const char *begin, const char *end, int newblock) { - unsigned int i, l; + unsigned int i; + unsigned int l; for (i = 0; i < LENGTH(insert); i++) if (strncmp(insert[i][0], begin, strlen(insert[i][0])) == 0) @@ -539,7 +557,8 @@ int doreplace(const char *begin, const char *end, int newblock) int doshortlink(const char *begin, const char *end, int newblock) { - const char *p, *c; + const char *p; + const char *c; int ismail = 0; if (*begin != '<') @@ -585,8 +604,11 @@ int doshortlink(const char *begin, const char *end, int newblock) int dosurround(const char *begin, const char *end, int newblock) { - unsigned int i, l; - const char *p, *start, *stop; + unsigned int i; + unsigned int l; + const char *p; + const char *start; + const char *stop; for (i = 0; i < LENGTH(surround); i++) { l = strlen(surround[i].search); @@ -624,7 +646,9 @@ int dosurround(const char *begin, const char *end, int newblock) int dounderline(const char *begin, const char *end, int newblock) { - unsigned int i, j, l; + unsigned int i; + unsigned int j; + unsigned int l; const char *p; if (!newblock) @@ -724,23 +748,26 @@ int process(const char *begin, const char *end, int newblock) int main(int argc, char *argv[]) { char *buffer = NULL; - const char *path = "STDIN"; + const char *path; int i; int ret = EXIT_SUCCESS; for (i = 1; i < argc; i++) { - if (!strcmp("-v", argv[i])) + if (!strcmp("-v", argv[i])) { eprint("simple markup %s (C) Enno Boland\n", VERSION); - else if (!strcmp("-n", argv[i])) + goto exit; + } else if (!strcmp("-n", argv[i])) { nohtml = 1; - else if (argv[i][0] != '-') + } else if (argv[i][0] != '-') { break; - else if (!strcmp("--", argv[i])) { + } else if (!strcmp("--", argv[i])) { i++; break; - } else + } else { eprint("Usage %s [-n] [file]\n -n escape html strictly\n", argv[0]); + goto exit; + } } if (i < argc) {