# @(#) mk2knr.pl - generates a perl script that converts lexemes to K&R-style
#
# How to use this script:
-# - In the busybox directory type 'scripts/mk2knr.pl files-you-want-to-convert'
+# - In the busybox directory type 'examples/mk2knr.pl files-to-convert'
# - Review the 'convertme.pl' script generated and remove / edit any of the
# substitutions in there (please especially check for false positives)
# - Type './convertme.pl same-files-as-before'
$convert = 0;
%converted = ();
+# if no files were specified, print usage
+die "usage: $0 file.c | file.h\n" if scalar(@ARGV) == 0;
# prepare the "convert me" file
open(CM, ">$convertme") or die "convertme.pl $!";
# if the line says "getopt" in it anywhere, we don't want to muck with it
# because option lists tend to include strings like "cxtzvOf:" which get
- # matched by the javaStyle / Hungarian and PascalStyle regexps below
+ # matched by the "check for mixed case" regexps below
next if /getopt/;
# tokenize the string into just the variables
# this checks for PascalStyle
$convert++ if ($var =~ /^[A-Z][a-z]+[A-Z][a-z]+/);
+ # if we want to add more checks, we can add 'em here, but the above
+ # checks catch "just enough" and not too much, so prolly not.
+
if ($convert) {
$convert = 0;
close(CM);
chmod 0755, $convertme;
+# print a helpful help message
+print "Done. Scheduled name changes are in $convertme.\n";
+print "Please review/modify it and then type ./$convertme to do the search & replace.\n";