mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-28 05:02:10 +01:00
glib-compile-resources: encode data as string
Some Testing revealed encoding resource data with string escape codes to compile significantly quicker compared to the same data encoded as an array with hexadecimal numbers. See #1489
This commit is contained in:
parent
2705fa7b55
commit
0d685b4946
@ -1087,20 +1087,16 @@ main (int argc, char **argv)
|
||||
"# define SECTION\n"
|
||||
"#endif\n"
|
||||
"\n"
|
||||
"static const SECTION union { const guint8 data[%"G_GSIZE_FORMAT"]; const double alignment; void * const ptr;} %s_resource_data = { {\n",
|
||||
"static const SECTION union { const guint8 data[%"G_GSIZE_FORMAT"]; const double alignment; void * const ptr;} %s_resource_data = {\n \"",
|
||||
c_name_no_underscores, data_size, c_name);
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
if (i % 8 == 0)
|
||||
g_fprintf (file, " ");
|
||||
g_fprintf (file, "0x%2.2x", (int)data[i]);
|
||||
if (i != data_size - 1)
|
||||
g_fprintf (file, ", ");
|
||||
if ((i % 8 == 7) || (i == data_size - 1))
|
||||
g_fprintf (file, "\n");
|
||||
g_fprintf (file, "\\%3.3o", (int)data[i]);
|
||||
if (i % 16 == 15)
|
||||
g_fprintf (file, "\"\n \"");
|
||||
}
|
||||
|
||||
g_fprintf (file, "} };\n");
|
||||
g_fprintf (file, "\" };\n");
|
||||
|
||||
g_fprintf (file,
|
||||
"\n"
|
||||
|
Loading…
x
Reference in New Issue
Block a user