#!/usr/local/bin/perl

while (<>)
	{
	next unless (/^#define\s+(\S+)\s/);

	$o=$1;
	if ($o =~ /^([^_]+)_F_(.*)/)
		{ $out{$1."_str_functs"}.=sprintf("{ERR_PACK(0,%s,0),\t\"$2\"},\n",$o); }
	elsif ($o =~ /^([^_]+)_R_(.*)/)
		{ $out{$1."_str_reasons"}.=sprintf("{%-40s,\"$2\"},\n",$o); }
	}

foreach (sort keys %out)
	{
	print "static ERR_STRING_DATA ${_}[]=\n\t{\n";
	print $out{$_};
	print "{0,NULL},\n";
	print "\t};\n\n";
	}



