Call for testers: Const status accessors
Andrea Canciani <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <CAN_5=BDB-kEzgW9niD6WgSFsC_X8EHBFD0ccSj5D_pyGviRFow@mail.gmail.com> |
The attached patch modifies cairo status accessors to accept a const argument. This should be ok with C, but other languages might have different issues. I'd like if people using/maintaining bindings to cairo could test this patch and report any problems it causes. Thank you in advance Andrea -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo
0001-api-Const-ify-status-accessors.patch
(text/plain, 7.1 KB)
From 64fc46b620a6de645ad66f87e6924ad8fc09a0de Mon Sep 17 00:00:00 2001 From: Andrea Canciani <[email protected]> Date: Fri, 5 Aug 2011 10:10:55 +0200 Subject: [PATCH] api: Const-ify status accessors In order to make the API consistent between cairo_region_status() and other status accessors (without causing new warnings to existing programs), all of the status accessors were modified to accept a const argument with the following command: sed -e 's/^\(cairo_.*status (\)cairo_/\1const cairo_/' -i.bak *.c *.h This should not break existing programs, because it relaxes the API and should not affect the ABI: http://davidz25.blogspot.com/2011/07/writing-c-library-part-5.html#abi-api-versioning --- src/cairo-device.c | 2 +- src/cairo-font-face.c | 2 +- src/cairo-font-options.c | 2 +- src/cairo-pattern.c | 2 +- src/cairo-scaled-font.c | 2 +- src/cairo-surface.c | 2 +- src/cairo-vg-surface.c | 2 +- src/cairo-vg.h | 2 +- src/cairo.c | 2 +- src/cairo.h | 14 +++++++------- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/cairo-device.c b/src/cairo-device.c index fd1ec71..0d18842 100644 --- a/src/cairo-device.c +++ b/src/cairo-device.c @@ -225,7 +225,7 @@ slim_hidden_def (cairo_device_reference); * Since: 1.10 **/ cairo_status_t -cairo_device_status (cairo_device_t *device) +cairo_device_status (const cairo_device_t *device) { if (device == NULL) return CAIRO_STATUS_NULL_POINTER; diff --git a/src/cairo-font-face.c b/src/cairo-font-face.c index e379b25..c45b1be 100644 --- a/src/cairo-font-face.c +++ b/src/cairo-font-face.c @@ -214,7 +214,7 @@ cairo_font_face_get_reference_count (cairo_font_face_t *font_face) * %CAIRO_STATUS_NO_MEMORY. **/ cairo_status_t -cairo_font_face_status (cairo_font_face_t *font_face) +cairo_font_face_status (const cairo_font_face_t *font_face) { return font_face->status; } diff --git a/src/cairo-font-options.c b/src/cairo-font-options.c index 521d371..52c501a 100644 --- a/src/cairo-font-options.c +++ b/src/cairo-font-options.c @@ -173,7 +173,7 @@ cairo_font_options_destroy (cairo_font_options_t *options) * Return value: %CAIRO_STATUS_SUCCESS or %CAIRO_STATUS_NO_MEMORY **/ cairo_status_t -cairo_font_options_status (cairo_font_options_t *options) +cairo_font_options_status (const cairo_font_options_t *options) { if (options == NULL) return CAIRO_STATUS_NULL_POINTER; diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c index cb6bba8..2668f5c 100644 --- a/src/cairo-pattern.c +++ b/src/cairo-pattern.c @@ -1030,7 +1030,7 @@ cairo_pattern_get_type (cairo_pattern_t *pattern) * or %CAIRO_STATUS_INVALID_MESH_CONSTRUCTION. **/ cairo_status_t -cairo_pattern_status (cairo_pattern_t *pattern) +cairo_pattern_status (const cairo_pattern_t *pattern) { return pattern->status; } diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index cb59bce..eef7e9e 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -312,7 +312,7 @@ cairo_scaled_font_get_type (cairo_scaled_font_t *scaled_font) * %CAIRO_STATUS_NO_MEMORY. **/ cairo_status_t -cairo_scaled_font_status (cairo_scaled_font_t *scaled_font) +cairo_scaled_font_status (const cairo_scaled_font_t *scaled_font) { return scaled_font->status; } diff --git a/src/cairo-surface.c b/src/cairo-surface.c index b699393..88013ba 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -234,7 +234,7 @@ slim_hidden_def(cairo_surface_get_content); * %CAIRO_STATUS_INVALID_VISUAL. **/ cairo_status_t -cairo_surface_status (cairo_surface_t *surface) +cairo_surface_status (const cairo_surface_t *surface) { return surface->status; } diff --git a/src/cairo-vg-surface.c b/src/cairo-vg-surface.c index 392ed0b..e2f13d2 100644 --- a/src/cairo-vg-surface.c +++ b/src/cairo-vg-surface.c @@ -1917,7 +1917,7 @@ cairo_vg_context_create_for_egl (EGLDisplay egl_display, #endif cairo_status_t -cairo_vg_context_status (cairo_vg_context_t *context) +cairo_vg_context_status (const cairo_vg_context_t *context) { return context->status; } diff --git a/src/cairo-vg.h b/src/cairo-vg.h index f9a62e5..0511f76 100644 --- a/src/cairo-vg.h +++ b/src/cairo-vg.h @@ -67,7 +67,7 @@ cairo_vg_context_create_for_egl (EGLDisplay egl_display, #endif cairo_public cairo_status_t -cairo_vg_context_status (cairo_vg_context_t *context); +cairo_vg_context_status (const cairo_vg_context_t *context); cairo_public void cairo_vg_context_destroy (cairo_vg_context_t *context); diff --git a/src/cairo.c b/src/cairo.c index e58206b..f24def6 100644 --- a/src/cairo.c +++ b/src/cairo.c @@ -3832,7 +3832,7 @@ cairo_append_path (cairo_t *cr, * Returns: the current status of this context, see #cairo_status_t **/ cairo_status_t -cairo_status (cairo_t *cr) +cairo_status (const cairo_t *cr) { return cr->status; } diff --git a/src/cairo.h b/src/cairo.h index 1eb30d7..36dc99f 100644 --- a/src/cairo.h +++ b/src/cairo.h @@ -1269,7 +1269,7 @@ cairo_public void cairo_font_options_destroy (cairo_font_options_t *options); cairo_public cairo_status_t -cairo_font_options_status (cairo_font_options_t *options); +cairo_font_options_status (const cairo_font_options_t *options); cairo_public void cairo_font_options_merge (cairo_font_options_t *options, @@ -1395,7 +1395,7 @@ cairo_public unsigned int cairo_font_face_get_reference_count (cairo_font_face_t *font_face); cairo_public cairo_status_t -cairo_font_face_status (cairo_font_face_t *font_face); +cairo_font_face_status (const cairo_font_face_t *font_face); /** @@ -1475,7 +1475,7 @@ cairo_public unsigned int cairo_scaled_font_get_reference_count (cairo_scaled_font_t *scaled_font); cairo_public cairo_status_t -cairo_scaled_font_status (cairo_scaled_font_t *scaled_font); +cairo_scaled_font_status (const cairo_scaled_font_t *scaled_font); cairo_public cairo_font_type_t cairo_scaled_font_get_type (cairo_scaled_font_t *scaled_font); @@ -1980,7 +1980,7 @@ cairo_path_destroy (cairo_path_t *path); /* Error status queries */ cairo_public cairo_status_t -cairo_status (cairo_t *cr); +cairo_status (const cairo_t *cr); cairo_public const char * cairo_status_to_string (cairo_status_t status); @@ -2034,7 +2034,7 @@ cairo_public cairo_device_type_t cairo_device_get_type (cairo_device_t *device); cairo_public cairo_status_t -cairo_device_status (cairo_device_t *device); +cairo_device_status (const cairo_device_t *device); cairo_public cairo_status_t cairo_device_acquire (cairo_device_t *device); @@ -2110,7 +2110,7 @@ cairo_public unsigned int cairo_surface_get_reference_count (cairo_surface_t *surface); cairo_public cairo_status_t -cairo_surface_status (cairo_surface_t *surface); +cairo_surface_status (const cairo_surface_t *surface); /** * cairo_surface_type_t: @@ -2376,7 +2376,7 @@ cairo_public unsigned int cairo_pattern_get_reference_count (cairo_pattern_t *pattern); cairo_public cairo_status_t -cairo_pattern_status (cairo_pattern_t *pattern); +cairo_pattern_status (const cairo_pattern_t *pattern); cairo_public void * cairo_pattern_get_user_data (cairo_pattern_t *pattern, -- 1.7.1