Introduction
Introduction Statistics Contact Development Disclaimer Help
Add BOB support to geomyidae. - geomyidae - a small C-based gopherd (mirror)
git clone git://git.codemadness.org/geomyidae
Log
Files
Refs
README
LICENSE
---
commit 55786ce96a30a89b836e2ebdda0a284dfecffefe
parent 9f57161218c2528eb3ba17e30d6c44a970101888
Author: Christoph Lohmann <[email protected]>
Date: Fri, 24 Feb 2023 18:52:16 +0100
Add BOB support to geomyidae.
Diffstat:
A bob/README.md | 13 +++++++++++++
A bob/eval-bob | 53 ++++++++++++++++++++++++++++++
A bob/index.bob | 14 ++++++++++++++
A bob/index.dbob | 13 +++++++++++++
M filetypes.h | 2 ++
M main.c | 2 +-
6 files changed, 96 insertions(+), 1 deletion(-)
---
diff --git a/bob/README.md b/bob/README.md
@@ -0,0 +1,13 @@
+Why BOB?
+
+Too many people use the Internet drunken. See the web, PHP and other
+technologies, where this will end.
+
+To show you how not to write code drunken and simplify things, this is an
+example of how to add your own dynamic handler language to geomyidae.
+
+We support that people should use gopherspace only when being sober.
+
+Do not accidently ruin someone's life with your strange hype idea you
+created drunken at 2am at night!
+
diff --git a/bob/eval-bob b/bob/eval-bob
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# Don't drink and code.
+# Eval BOB!
+#
+# https://www.bob.be/
+#
+# We want to create awareness of people writing code while being drunken.
+# See PHP or Ruby on Rails for how to not do it. You will end up in a
+# life of misery, where you cannot escape and need to keep going until
+# your pension with some ugly language, reinventing what has been done
+# before. Noone will remember you, since you write shit code and the next
+# hype kid replaced your idea with their own hype, rewriting what you
+# already did.
+#
+# Example BOB file:
+#
+# <?geomyidae echo hello bob ?>
+#
+# See index.bob for an example file.
+#
+
+if [ -z "$1" ];
+then
+ input="/dev/stdin"
+else
+ input="$1"
+fi
+
+{
+ awk -v "bob=1" \
+ 'BEGIN {
+ print "cat <<BOBEND" bob ";"
+ }
+ /^#!\// && NR==1 {
+ next;
+ }
+ /<\?geomyidae/ {
+ sub(/<\?geomyidae/, "BOBEND" bob "\n");
+ bob=bob+1;
+ }
+ /\?>/ {
+ sub(/?>/,"\ncat <<BOBEND" bob ";\n");
+ }
+ {
+ print;
+ }
+ END {
+ print "BOBEND" bob
+ }
+ ' "${input}"
+}
+
diff --git a/bob/index.bob b/bob/index.bob
@@ -0,0 +1,14 @@
+#!/usr/bin/env eval-bob
+[h|BOB is great.|URL:https://www.bob.be|server|port]
+<?geomyidae
+ echo aaaaahhhh
+ a="sober"
+?>
+<?geomyidae printf "BOB is programming "; ?>
+extra $a
+<?geomyidae
+ for i in $(seq 10);
+ do
+ printf "%s\n" "$a";
+ done
+?>
diff --git a/bob/index.dbob b/bob/index.dbob
@@ -0,0 +1,13 @@
+#!/usr/bin/env eval-bob
+<?geomyidae
+ echo aaaaahhhh
+ a="sober"
+?>
+<?geomyidae printf "BOB is programming "; ?>
+extra $a
+<?geomyidae
+ for i in $(seq 10);
+ do
+ printf "%s\n" "$a";
+ done
+?>
diff --git a/filetypes.h b/filetypes.h
@@ -17,6 +17,8 @@ filetype type[] = {
{"gph", "1", handlegph},
{"cgi", "0", handlecgi},
{"dcgi", "1", handledcgi},
+ {"bob", "0", handlecgi},
+ {"dbob", "1", handledcgi},
{"bin", "9", handlebin},
{"tgz", "9", handlebin},
{"gz", "9", handlebin},
diff --git a/main.c b/main.c
@@ -59,7 +59,7 @@ int nlistfds = 0;
char *argv0;
char stdbase[] = "/var/gopher";
char *stdport = "70";
-char *indexf[] = {"/index.gph", "/index.cgi", "/index.dcgi", "/index.bin"};
+char *indexf[] = {"/index.gph", "/index.cgi", "/index.dcgi", "/index.bob", "/i…
char *nocgierr = "3Sorry, execution of the token '%s' was requested, but this "
"is disabled in the server configuration.\tErr"
"\tlocalhost\t70\r\n";
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.