diff --git a/src/cairo-base64-stream.c b/src/cairo-base64-stream.c index 95f706668..aa78bbb8a 100644 --- a/src/cairo-base64-stream.c +++ b/src/cairo-base64-stream.c @@ -48,7 +48,7 @@ typedef struct _cairo_base64_stream { unsigned char src[3]; } cairo_base64_stream_t; -static char const base64_table[64] = +static char const cairo_nonstring base64_table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static cairo_status_t diff --git a/src/cairo-compiler-private.h b/src/cairo-compiler-private.h index 90fd28019..4e8da4dbc 100644 --- a/src/cairo-compiler-private.h +++ b/src/cairo-compiler-private.h @@ -148,6 +148,12 @@ #define unlikely(expr) (expr) #endif +#if defined (__GNUC__) +#define cairo_nonstring __attribute__((nonstring)) +#else +#define cairo_nonstring +#endif + #if !defined(__GNUC__) && !defined (__clang__) #undef __attribute__ #define __attribute__(x) diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c index 249f46f53..f4f9df007 100644 --- a/src/cairo-svg-surface.c +++ b/src/cairo-svg-surface.c @@ -1885,7 +1885,7 @@ typedef struct { unsigned char src[3]; } base64_write_closure_t; -static char const base64_table[64] = +static char const cairo_nonstring base64_table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; static cairo_status_t diff --git a/src/cairo-type1-fallback.c b/src/cairo-type1-fallback.c index d0bbc62f0..b22b8a7f4 100644 --- a/src/cairo-type1-fallback.c +++ b/src/cairo-type1-fallback.c @@ -492,7 +492,7 @@ cairo_type1_font_write_header (cairo_type1_font_t *font, const char *name) { unsigned int i; - const char spaces[50] = " "; + const char cairo_nonstring spaces[50] = " "; _cairo_output_stream_printf (font->output, "%%!FontType1-1.1 %s 1.0\n" @@ -555,7 +555,7 @@ cairo_type1_write_stream_encrypted (void *closure, { const unsigned char *in, *end; uint16_t c, p; - static const char hex_digits[16] = "0123456789abcdef"; + static const char cairo_nonstring hex_digits[16] = "0123456789abcdef"; char digits[3]; cairo_type1_font_t *font = closure; @@ -642,7 +642,7 @@ static void cairo_type1_font_write_trailer(cairo_type1_font_t *font) { int i; - static const char zeros[65] = + static const char cairo_nonstring zeros[65] = "0000000000000000000000000000000000000000000000000000000000000000\n"; for (i = 0; i < 8; i++) diff --git a/src/cairo-type1-subset.c b/src/cairo-type1-subset.c index 5c3766e3a..426332515 100644 --- a/src/cairo-type1-subset.c +++ b/src/cairo-type1-subset.c @@ -606,7 +606,7 @@ cairo_type1_font_subset_write_encrypted (cairo_type1_font_subset_t *font, { const unsigned char *in, *end; int c, p; - static const char hex_digits[16] = "0123456789abcdef"; + static const char cairo_nonstring hex_digits[16] = "0123456789abcdef"; char digits[3]; in = (const unsigned char *) data; @@ -1543,7 +1543,7 @@ cairo_type1_font_subset_write_trailer(cairo_type1_font_subset_t *font) { const char *cleartomark_token; int i; - static const char zeros[65] = + static const char cairo_nonstring zeros[65] = "0000000000000000000000000000000000000000000000000000000000000000\n";