makestrings 852 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/perl
  2. sub stringify {
  3. my $name = shift(@_);
  4. open(OUTPUTC, "> $name.c");
  5. open(OUTPUTH, "> $name.h");
  6. open(FILE, "$name");
  7. while(<FILE>) {
  8. if(/(.+) "(.+)"/) {
  9. $var = $1;
  10. $data = $2;
  11. $datan = $data;
  12. $datan =~ s/\\r/\r/g;
  13. $datan =~ s/\\n/\n/g;
  14. $datan =~ s/\\01/\01/g;
  15. $datan =~ s/\\0/\0/g;
  16. printf(OUTPUTC "const char $var\[%d] = \n", length($datan) + 1);
  17. printf(OUTPUTC "/* \"$data\" */\n");
  18. printf(OUTPUTC "{");
  19. for($j = 0; $j < length($datan); $j++) {
  20. printf(OUTPUTC "%#02x, ", unpack("C", substr($datan, $j, 1)));
  21. }
  22. printf(OUTPUTC "0 };\n");
  23. printf(OUTPUTH "extern const char $var\[%d];\n", length($datan) + 1);
  24. }
  25. }
  26. close(OUTPUTC);
  27. close(OUTPUTH);
  28. }
  29. stringify("webclient-strings");
  30. exit 0;