#! /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 <