mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-11-05 04:05:34 +00:00
41 lines
839 B
Plaintext
41 lines
839 B
Plaintext
|
#!/usr/bin/perl
|
||
|
|
||
|
|
||
|
sub stringify {
|
||
|
my $name = shift(@_);
|
||
|
open(OUTPUTC, "> $name.c");
|
||
|
open(OUTPUTH, "> $name.h");
|
||
|
|
||
|
open(FILE, "$name");
|
||
|
|
||
|
while(<FILE>) {
|
||
|
if(/(.+) "(.+)"/) {
|
||
|
$var = $1;
|
||
|
$data = $2;
|
||
|
|
||
|
$datan = $data;
|
||
|
$datan =~ s/\\r/\r/g;
|
||
|
$datan =~ s/\\n/\n/g;
|
||
|
$datan =~ s/\\01/\01/g;
|
||
|
$datan =~ s/\\0/\0/g;
|
||
|
|
||
|
printf(OUTPUTC "const char $var\[%d] = \n", length($datan) + 1);
|
||
|
printf(OUTPUTC "/* \"$data\" */\n");
|
||
|
printf(OUTPUTC "{");
|
||
|
for($j = 0; $j < length($datan); $j++) {
|
||
|
printf(OUTPUTC "%#02x, ", unpack("C", substr($datan, $j, 1)));
|
||
|
}
|
||
|
printf(OUTPUTC "};\n");
|
||
|
|
||
|
printf(OUTPUTH "extern const char $var\[%d];\n", length($datan) + 1);
|
||
|
|
||
|
}
|
||
|
}
|
||
|
close(OUTPUTC);
|
||
|
close(OUTPUTH);
|
||
|
}
|
||
|
stringify($ARGV[0]);
|
||
|
|
||
|
exit 0;
|
||
|
|