[gtk+/gtk-3-14] gdk/broadway/toarray.pl: Fix Code Generation for MSVC



commit ea8a281543d45124903b81e24ca2b7d422370c54
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Oct 22 20:03:34 2014 +0800

    gdk/broadway/toarray.pl: Fix Code Generation for MSVC
    
    The current implementation of this script generate headers with \x-escaped
    strings that can become too long (> 65535 characters) for Visual Studio
    to consume, hence the build of broadwayd would break on Visual Studio.
    
    This changes the script to instead format the string as an array of hex
    characters, not unlike what GResource does, so that builds can continue as
    normal on Visual Studio builds as well.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=739001

 gdk/broadway/toarray.pl |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/gdk/broadway/toarray.pl b/gdk/broadway/toarray.pl
index b8cdb6f..ac8b5ff 100755
--- a/gdk/broadway/toarray.pl
+++ b/gdk/broadway/toarray.pl
@@ -1,17 +1,22 @@
 #!/usr/bin/perl -w
 
 my $ARRAYNAME = $ARGV[0];
-print "static const char $ARRAYNAME\[\] = \"";
+my $first = 0;
+print "static const char $ARRAYNAME\[\] = {";
 
 for ($i = 1; $i <= $#ARGV; $i = $i + 1) {
     my $FILENAME = $ARGV[$i];
     open FILE, $FILENAME or die "Cannot open $FILENAME";
     while (my $line = <FILE>) {
         foreach my $c (split //, $line) {
-            printf ("\\x%02x", ord ($c));
+            if ($first == 1) {
+                printf (",\n");
+            }
+            printf ("0x%02x", ord ($c));
+            $first = 1;
         }
     }
 }
 
-print "\";\n";
+print "};\n";
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]