Rev | Line | |
---|
[279] | 1 | #!/usr/bin/perl
|
---|
| 2 |
|
---|
| 3 |
|
---|
| 4 | sub stringify {
|
---|
| 5 | my $name = shift(@_);
|
---|
| 6 | open(OUTPUTC, "> $name.c");
|
---|
| 7 | open(OUTPUTH, "> $name.h");
|
---|
| 8 |
|
---|
| 9 | open(FILE, "$name");
|
---|
| 10 |
|
---|
| 11 | while(<FILE>) {
|
---|
| 12 | if(/(.+) "(.+)"/) {
|
---|
| 13 | $var = $1;
|
---|
| 14 | $data = $2;
|
---|
| 15 |
|
---|
| 16 | $datan = $data;
|
---|
| 17 | $datan =~ s/\\r/\r/g;
|
---|
| 18 | $datan =~ s/\\n/\n/g;
|
---|
| 19 | $datan =~ s/\\01/\01/g;
|
---|
| 20 | $datan =~ s/\\0/\0/g;
|
---|
| 21 |
|
---|
| 22 | printf(OUTPUTC "const char $var\[%d] = \n", length($datan) + 1);
|
---|
| 23 | printf(OUTPUTC "/* \"$data\" */\n");
|
---|
| 24 | printf(OUTPUTC "{");
|
---|
| 25 | for($j = 0; $j < length($datan); $j++) {
|
---|
| 26 | printf(OUTPUTC "%#02x, ", unpack("C", substr($datan, $j, 1)));
|
---|
| 27 | }
|
---|
| 28 | printf(OUTPUTC "};\n");
|
---|
| 29 |
|
---|
| 30 | printf(OUTPUTH "extern const char $var\[%d];\n", length($datan) + 1);
|
---|
| 31 |
|
---|
| 32 | }
|
---|
| 33 | }
|
---|
| 34 | close(OUTPUTC);
|
---|
| 35 | close(OUTPUTH);
|
---|
| 36 | }
|
---|
| 37 | stringify("http-strings");
|
---|
| 38 |
|
---|
| 39 | exit 0;
|
---|
| 40 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.