URI: 
       Add BOB support to geomyidae. - geomyidae - A small C-based gopherd.
  HTML git clone git://bitreich.org/geomyidae/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/geomyidae/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
   DIR LICENSE
       ---
   DIR commit 55786ce96a30a89b836e2ebdda0a284dfecffefe
   DIR parent 9f57161218c2528eb3ba17e30d6c44a970101888
  HTML Author: Christoph Lohmann <20h@r-36.net>
       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(-)
       ---
   DIR 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!
       +
   DIR 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}" 
       +} 
       +
   DIR 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
       +?>
   DIR 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
       +?>
   DIR 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},
   DIR 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", "/index.bin"};
        char *nocgierr = "3Sorry, execution of the token '%s' was requested, but this "
                    "is disabled in the server configuration.\tErr"
                    "\tlocalhost\t70\r\n";