[3/4] script surface: Avoid compiler warnings

Submitted by Simon Richter on Feb. 10, 2016, 8:49 p.m.

Details

Message ID 1455137348-22597-4-git-send-email-Simon.Richter@hogyros.de
State New
Headers show
Series "Series without cover letter" ( rev: 4 ) in Cairo

Not browsing as part of any series.

Commit Message

Simon Richter Feb. 10, 2016, 8:49 p.m.
This is not strictly necessary, as the pointer <-> integer casts here are
never performed on actual valid pointers, but this change avoids a bunch of
warnings that look dangerous.
---
 src/cairo-script-surface.c | 28 +++++++++++-----------------
 1 file changed, 11 insertions(+), 17 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/cairo-script-surface.c b/src/cairo-script-surface.c
index ea0117d..d5f890e 100644
--- a/src/cairo-script-surface.c
+++ b/src/cairo-script-surface.c
@@ -3021,7 +3021,7 @@  _emit_scaled_glyph_vector (cairo_script_surface_t *surface,
     cairo_script_context_t *ctx = to_context (surface);
     cairo_script_implicit_context_t old_cr;
     cairo_status_t status;
-    unsigned long index;
+    intptr_t index;
 
     index = ++font_private->subset_glyph_index;
     scaled_glyph->dev_private_key = ctx;
@@ -3069,7 +3069,7 @@  _emit_scaled_glyph_bitmap (cairo_script_surface_t *surface,
 {
     cairo_script_context_t *ctx = to_context (surface);
     cairo_status_t status;
-    unsigned long index;
+    intptr_t index;
 
     index = ++font_private->subset_glyph_index;
     scaled_glyph->dev_private_key = ctx;
@@ -3373,7 +3373,7 @@  _cairo_script_surface_show_text_glyphs (void			    *abstract_surface,
 		goto BAIL;
 	    }
 
-	    if ((long unsigned) scaled_glyph->dev_private > 256)
+	    if ((intptr_t) scaled_glyph->dev_private > 256)
 		break;
 	}
     }
@@ -3438,23 +3438,17 @@  _cairo_script_surface_show_text_glyphs (void			    *abstract_surface,
 		}
 	    }
 	}
-	if (base85_stream != NULL) {
-	    uint8_t c;
+	uint8_t c;
 
-	    if (font_private->has_sfnt)
-		c = glyphs[n].index;
-	    else
-		c = (uint8_t) (long unsigned) scaled_glyph->dev_private;
+	if (font_private->has_sfnt)
+	    c = glyphs[n].index;
+	else
+	    c = (uint8_t) (((intptr_t) scaled_glyph->dev_private) & 0xff);
 
+	if (base85_stream != NULL)
 	    _cairo_output_stream_write (base85_stream, &c, 1);
-	} else {
-	    if (font_private->has_sfnt)
-		_cairo_output_stream_printf (ctx->stream, " %lu",
-					     glyphs[n].index);
-	    else
-		_cairo_output_stream_printf (ctx->stream, " %lu",
-					     (long unsigned) scaled_glyph->dev_private);
-	}
+	else
+	    _cairo_output_stream_printf (ctx->stream, " %u", c);
 
         dx = scaled_glyph->metrics.x_advance;
         dy = scaled_glyph->metrics.y_advance;