-#!/bin/bash
+#!/usr/bin/env bash
read_header()
AT:)
array_type="$value"
;;
+ SI:)
+ for i in $value; do
+ system_includes="$system_includes
+#include <$i.h>"
+ done
+ ;;
IN:)
for i in $value; do
includes="$includes
usage_txt=""
help_txt=""
perms_txt=""
- line_handler=0
template=0
template_name=""
template_prototype=""
D:)
desc_txt="$value"
;;
- L:)
- line_handler=1
- ;;
U:)
usage_txt="$value"
;;
dump_man()
{
- echo ".SS \"$name_txt\""
- echo "$desc_txt"
- echo
- echo "\\fBusage: \\fP$usage_txt"
+ if test $template -eq 0; then
+ echo ".SS \"$name_txt\""
+ echo "$desc_txt"
+ echo
+ echo "\\fBUsage: \\fP$usage_txt"
+ else
+ for member in $template_members; do
+ local sed_cmd="sed -e s/@member@/$member/g"
+ local t_name_txt=$(echo $name_txt | $sed_cmd)
+ echo ".SS \"$t_name_txt\""
+ done
+ echo "$desc_txt" | sed -e "s/@member@/{$(echo $template_members | sed -e 's/ / | /g')}/g"
+ echo
+ echo "\\fBUsage: \\fP"
+ echo
+ echo ".nf"
+ for member in $template_members; do
+ local sed_cmd="sed -e s/@member@/$member/g"
+ local t_usage_txt=$(echo $usage_txt | $sed_cmd)
+ printf "\t$t_usage_txt\n"
+ done
+ echo ".fi"
+ fi
echo
- echo "$help_txt"
+ echo "$help_txt" | sed -e 's/^ //'
echo
if test -n "$perms_txt"; then
echo -n "\\fBpermissions:\\fP "
echo '/**'
echo " * $desc_txt"
echo ' *'
- echo ' * \param fd The file descriptor to send output to.'
- if test $line_handler -eq 0; then
- echo ' * \param argc The number of arguments.'
- echo ' * \param argv The argument vector.'
+ if [[ "$system_includes" =~ openssl/rc4.h ]]; then
+ echo ' * \param rc4c The rc4 crypt context.'
else
- echo ' * \param cmdline The full command line.'
+ echo ' * \param fd The file descriptor to send output to.'
fi
+ echo ' * \param argc The number of arguments.'
+ echo ' * \param argv The argument vector.'
echo ' * '
echo " * Usage: $usage_txt"
echo ' * '
{
echo '{'
echo ".name = \"$name_txt\","
- if test $line_handler -eq 0; then
- echo ".handler = com_$name_txt,"
- else
- echo ".handler = NULL,"
- echo ".line_handler = com_$name_txt,"
- fi
+ echo ".handler = com_$name_txt,"
if test -n "$perms_txt"; then
echo ".perms = $perms_txt,"
fi
echo ".description = \"$desc_txt\","
echo ".usage = \"$usage_txt\","
echo ".help = "
- echo "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g'
+ printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g'
echo '},'
}
perms_txt=$(echo $t_perms | $sed_cmd)
desc_txt=$(echo $t_desc | $sed_cmd)
usage_txt=$(echo $t_usage | $sed_cmd)
- help_txt=$(echo $t_help | $sed_cmd)
+ help_txt=$(printf "%s\n" "$t_help" | $sed_cmd)
prototype=$(echo "$template_prototype" | $sed_cmd)
$1
done
com_c_file()
{
echo "/** \file $output_file.c $c_file_comment */"
+ echo "$system_includes"
echo "$includes"
echo "struct $array_type $array_name[] = {"
while : ; do