From 11b86ff1a85efe5d1170ea8c90ebca5ac313e24f Mon Sep 17 00:00:00 2001 From: Inqiyad Sabr Date: Sun, 2 Nov 2025 10:07:40 +0600 Subject: Add files --- g2x.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 g2x.c (limited to 'g2x.c') diff --git a/g2x.c b/g2x.c new file mode 100644 index 0000000..cf23072 --- /dev/null +++ b/g2x.c @@ -0,0 +1,68 @@ +#include +#define BUFSIZE 4096 // Read +#define xmlput(n)\ + for(i = n; buf[i] != '\n'; i++) {\ + switch(buf[i]) {\ + default: putchar(buf[i]); break;\ + case '>' : fputs(">",stdout); break;\ + case '<' : fputs("<",stdout); break;\ + case '&' : fputs("&",stdout); break;\ + case '\'': fputs("'",stdout); break;\ + case '"' : fputs(""",stdout); break;}} +int main(void) { + char buf[BUFSIZE]; int i; + fputs( + "\n" + "\n" + "\n\n" + "\n" + "\n" + "",stdout + ); while (fgets(buf,BUFSIZE,stdin) != NULL) { + if (buf[2] == '#')/* ### */ { + fputs("

",stdout); + xmlput(4); fputs("

\n",stdout); + continue; + } else if (buf[1] == '#') /* ## */ { + fputs("

",stdout); + xmlput(3); fputs("

\n",stdout); + continue; + } else if (buf[0] == '#') /* # */ { + fputs("

",stdout); + xmlput(2); fputs("

\n",stdout); + continue; + } else if (buf[0] == '*') { + fputs("\n",stdout); continue; + } else if (buf[0] == '=' && buf[1] == '>')/* link */ { + fputs("

",stdout); xmlput(i+1); + fputs("

\n",stdout); + continue; + } else if (buf[0] == '`' && buf[2] == '`')/* code */ { + fputs("
",stdout);
+			fgets(buf,BUFSIZE,stdin);
+			while (buf[0] != '`' && buf[2] != '`') {
+				xmlput(0); fputs("\n",stdout);
+				fgets(buf,BUFSIZE,stdin);
+			} fputs("
",stdout); + continue; + } else if (buf[0] == '>') { + fputs("
",stdout); xmlput(2); + fputs("
\n",stdout); + continue; + } fputs("

",stdout); + xmlput(0); fputs("

\n",stdout); + } fputs("",stdout); + fputs("",stdout); +} -- cgit v1.2.3