From 35486e7990178a44939a36f882a66c09bcf0ce6a Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 22 Oct 2014 20:03:34 +0800 Subject: [PATCH] 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 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gdk/broadway/toarray.pl b/gdk/broadway/toarray.pl index b8cdb6fdf6..ac8b5ff3b7 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 = ) { 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";