# This script automatically takes care of '`', '\', and '@' by replacing
# them with '@@126', '@@92', and '@@64' respectively.
-my $infile = $ARGV[0];
+foreach my $infile (@ARGV) {
+ if (! -r $infile) { die "$0: Unable to read $infile\n"; }
+}
+
my $count = 0;
my $line;
-if (!$infile) { die "Usage: $0 foobar.nki > nki.inf\n"; }
+if (!$ARGV[0]) { die "Usage: $0 <files> > nki.inf\n"; }
-open (INFILE, "< $infile") || die "$0: Cannot open $infile\n";
print "! The following code was automatically generated by nki2inf.pl\n";
print "! Do not edit this file.\n";
print "[ lookup_msg num;\n";
print "\tswitch(num) {\n";
-while (<INFILE>) {
- $count++;
- next if /^\s*($|#|!)/;
- chomp;
- $line = $_;
- $line =~ s/"/~/g;
- $line =~ s/@/\@\@64/g;
- $line =~ s/\\/\@\@92/g;
- print "$count:\treturn \"$line\";\n";
+foreach my $infile (@ARGV) {
+ open (INFILE, "< $infile") || die "$0: Cannot open $infile\n";
+
+ while (<INFILE>) {
+ $count++;
+ next if /^\s*($|#|!)/;
+ chomp;
+ $line = $_;
+ $line =~ s/"/~/g;
+ $line =~ s/@/\@\@64/g;
+ $line =~ s/\\/\@\@92/g;
+ print "$count:\treturn \"$line\";\n";
+ }
}
print "default: return \"Unknown NKI (this should not happen)\";\n\t}\n];\n";
print "Constant MESSAGE_NUM $count;\n";