1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#!/usr/bin/perl
#################################################################
# (C) Copyright IBM Corp. 2004
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This
# file and program are licensed under a BSD style license. See
# the Copying file included with the OpenHPI distribution for
# full licensing terms.
#
# Convert a text file into a C program string declaration.
#
# Author(s):
# W. David Ashley <dashley@us.ibm.com>
#################################################################
use strict;
#eval "exec /usr/bin/perl -S $0 $*"
# if $Shell_cannot_understand; #!
$0 =~ /[^\/]+$/ ; # get the name of this program
my $program = $&;
my $sflag = 0;
my $strname = "eventxml";
while($_ = $ARGV[0], /^-/){ # get options
shift;
if (/^-s$/) { $sflag = 1; $strname = $ARGV[0]; shift; }
elsif (/^-s(.*)/) { $sflag = 1; $strname = $1; }
else {
print stderr "$program: convert text to C program string...\n";
print stderr " Usage: $program -s strname ] { textfile }\n";
exit 0;
}
}
print <<EOF;
/* -*- linux-c -*-
*
* (C) Copyright IBM Corp. 2004
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This
* file and program are licensed under a BSD style license. See
* the Copying file included with the OpenHPI distribution for
* full licensing terms.
*/
/*******************************************************************
* WARNING! This file is auto-magically generated by:
* $program.
* Do not change this file manually. Update script instead.
*******************************************************************/
EOF
print "\n";
print "char *$strname" . " = {\n";
while(<>){
chop;
s/\\/\\\\/g;
s/\t/\\t/g;
s/\"/\\"/g;
print "\t\"$_\\n\"\n";
}
print "\t\"\\0\"\n";
print "};\n";
print "\n";
|