#!/bin/sh
 
 # shredder
 # ========
   
 # This file is part of Gerolf Markup Shredder,
 # written by G. D. Brettschneider (1999-2006).
 
 GMSdateSHREDDER=20060927
 
 # Prologue: ==================================================================
  
 # Not running:
 
 if [ "$GMS_SHELL" = "" ]; then
   echo "This is Gerolf Markup Shredder (shredder)."
   sleep 1
   exit
 fi 
  
 # Check if module is given: --------------------------------------------------
 
 if [ "$1" = "" ]; then
   if [ -f ../gerolf ]; then
   # Load launcher (if not loaded by launcher):
     source ../gerolf -passive 
     export REPLY_MODULE=g_palet
     export REPLY_ACTION=-build
   else
   # Not set up:
     echo
     echo "Please run 'gmssetup' script to initialize Gerolf Markup Shredder."
     exit
   fi
 fi
 
 # Help message: -------------------------------------------------------------
 
 if [ $1 = -help \
   -o $1 = --help ]; then
   echo
   echo  -n "This is Gerolf Markup Shredder, "
   echo "written by G. D. Brettschneider (www.Gerolf.org) "
   echo  -n "Please send bug reports or corrections to "
   echo "MarkupShredder@Gerolf.org - Thank you. "
   exit
 else 
   # Initialize loop:
   export REPLY_MODULE="$1"
   export REPLY_ACTION="$2"
 fi 
   
 # Debug: ---------------------------------------------------------------------
   
 if [ "$GMS_DEBUG" = "X" -o "$GMS_DEBUG" = "Y" ]; then
   source "$GMS_SHELL/l_banner" -debug g_vars $1 $2 $3 $4
 elif  [ "$GMS_DEBUG" = "Z" ]; then
   echo " shredder ($1) ($2) ($3) ($4) ($5) ($6) ($7) ($8) ($9)" >> "$Z"
 fi 
 
 # Build: ---------------------------------------------------------------------
   
 export REPLY_TEMP="$GMS_TEMP/replytmp"
 if [ -f "$REPLY_TEMP" ]; then rm "$REPLY_TEMP"; fi   
 export REPLY_MODULE=g_palet
 export REPLY_ACTION=-build
 export REPLY_OFFSET=0 
 export REPLY_SIZE=0
 export REPLY_ITEMS=0
 export GMS_REPLY="$GMS_BINARIES/reply"
 "$GMS_REPLY" -random 2 
 export GMS_RECEIVE=1
 export GMS_TEXTMODE=1
  
 # Textmode interface master loop: ============================================
  
 if [ "$GMS_DEBUG" = "Z" ]; then
   echo " ========== Entering textmode interface master loop" >> "$Z"
 fi
   
 while [ "$GMS_BREAK" = "" ]; do 
   
   export REPLY_DATA=
   
   # Load and remove old temporary file 'replytmp': ---------------------------
   
   if [ "$GMS_RECEIVE" = "1" ]; then
     if [ -f "$REPLY_TEMP" ]; then
       source "$REPLY_TEMP"
       rm "$REPLY_TEMP"
       export GMS_RECEIVE=0
     fi
   fi
   
   # Debug: -------------------------------------------------------------------
   
   if [ "$GMS_DEBUG" = "Z" ]; then
     echo  -n " -------------------- shredder" >> "$Z"
     echo  -n " [$REPLY_MODULE] [$REPLY_ACTION]" >> "$Z"
     echo " [$REPLY_HOT] [$REPLY_COLD] [$REPLY_DATA]" >> "$Z"
   elif [ "$GMS_DEBUG" = "X" -o "$GMS_DEBUG" = "Y" ]; then
     source "$GMS_SHELL/l_banner" -debug \
       $REPLY_MODULE $REPLY_ACTION \
       $REPLY_HOT $REPLY_COLD $REPLY_DATA
   fi
   
   # Load module: -------------------------------------------------------------
   
   if [ -f "$GMS_SHELL/$REPLY_MODULE" ]; then
     source "$GMS_SHELL/$REPLY_MODULE" $REPLY_ACTION \
       $REPLY_HOT $REPLY_COLD $REPLY_DATA
   
   # Not found: ---------------------------------------------------------------
   
   else 
     source "$GMS_SHELL/l_banner" -no_module $REPLY_MODULE shredder   
   fi
   
 done
 
 # gmsdebug.log footer:
   if [ "$GMS_DEBUG" = "Z" ]; then
     echo " ========== Leaving textmode interface master loop" >> "$Z"
     arg="///////////////////////////////////////"
       echo " $arg$arg" >> "$Z"
     unset arg
     echo " $GMS_SETTING" >> "$Z"
   fi
     
 # Final screen:
   setterm -reset
   echo  -n " Please support the author of Markup Shredder   -"
   echo "   w w w . G e r o l f . o r g"
   for i in 1 2 3 4 5 6 7 8 9 10 11; do echo; done
   for i in 1 2 3 4 5 6 7 8 9 10 11; do echo; done

 # Final unsets:
   export GMS_BREAK=
   export GMS_DEBUG=
   export GMS_SETTING=
   export Z=
