From 236dae9fb3183b9c1d8bc6f77614797d65800987 Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Fri, 6 Mar 2009 14:13:47 +0000 Subject: Strings abstracted into dynamically-created C files. Added -V option. Deprecated README files. --- strings.sh | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 strings.sh (limited to 'strings.sh') diff --git a/strings.sh b/strings.sh new file mode 100644 index 00000000..84b7244c --- /dev/null +++ b/strings.sh @@ -0,0 +1,83 @@ +#! /bin/sh +# $Id: strings.sh,v 1.1 2009/03/06 14:13:47 kristaps Exp $ + +# strings.sh [-o output] name input +# +# Generate the file of strings. This will contain the following +# function: +# +# const char * +# mdoc_a2NAME(const char *); +# +# The input file must be tab-delimited as follows: +# +# attnam0 A longer description +# attnam1 Another longer description + +input= +output= +args=`getopt o: $*` + +if [ $? -ne 0 ]; then + echo "usage: $0 [-o output] name input" 1>&2 + exit 1 +fi + +set -- $args + +while [ $# -ge 0 ] +do + case "$1" in + -o) + output="$2" ; shift; shift ;; + --) + shift ; break ;; + esac +done + +name=$1 + +if [ -z "$name" ]; then + echo "usage: $0 [-o output] name input" 1>&2 + exit 1 +fi + +input=$2 + +if [ "$output" ]; then + exec 1<>$output +fi + +if [ "$input" ]; then + exec 0<>$input +fi + +cat < + +#include "private.h" + +const char * +mdoc_a2${name}(const char *p) +{ + +! + +while read in ; do + key=`printf "%s\n" "$in" | cut -f 1` + val=`printf "%s\n" "$in" | cut -f 2- | sed 's!^[ ]*!!'` + cat <