makestrings 852 字节
Newer Older
I
add uip  
itspy.wei 已提交
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
#!/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 "0 };\n");
      
      printf(OUTPUTH "extern const char $var\[%d];\n", length($datan) + 1);
      
    }
  }
  close(OUTPUTC);
  close(OUTPUTH);
}
stringify("webclient-strings");

exit 0;