+ if test -n "$perms_txt"; then
+ echo ".perms = $perms_txt,"
+ fi
+ echo ".description = \"$desc_txt\","
+ echo ".usage = \"$usage_txt\","
+ echo ".help = "
+ printf "%s\n" "$help_txt" | sed -e 's/^/\"/g' -e 's/$/\\n\"/g'
+ echo '},'
+}
+
+
+template_loop()
+{
+ local t_name="$name_txt"
+ local t_perms="$perms_txt"
+ local t_desc="$desc_txt"
+ local t_usage="$usage_txt"
+ local t_help="$help_txt"
+ local t_source_files="$source_files"
+ local member
+ for member in $template_members; do
+ local sed_cmd="sed -e s/@member@/$member/g"
+ #echo "sed_cmd: $sed_cmd"
+ name_txt=$(echo $t_name | $sed_cmd)
+ #name_txt="$tname"
+ perms_txt=$(echo $t_perms | $sed_cmd)
+ desc_txt=$(echo $t_desc | $sed_cmd)
+ usage_txt=$(echo $t_usage | $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
+ read_one_command
+ if test $ret -lt 0; then
+ exit 1
+ fi
+ if test $ret -eq 0; then
+ break
+ fi
+ if test $template -eq 0; then
+ dump_array_member
+ continue
+ fi
+ template_loop dump_array_member
+ done
+ echo '{.name = NULL}};'