[gthumb] added the G_GNUC_NULL_TERMINATED flag to some functions



commit 0611368c09710c82d0f920386e25740062f6ebaa
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu Oct 10 17:45:19 2013 +0200

    added the G_GNUC_NULL_TERMINATED flag to some functions

 gthumb/dom.c                |   14 ++++----------
 gthumb/dom.h                |    6 ++----
 gthumb/gedit-message-area.h |   38 +++++++++++++++++++-------------------
 gthumb/glib-utils.h         |    4 ++--
 gthumb/gth-main.c           |   25 ++++++++-----------------
 gthumb/gth-main.h           |    6 ++----
 gthumb/gth-test-chain.c     |    7 +++----
 gthumb/gth-test-chain.h     |    5 ++---
 gthumb/gth-user-dir.h       |    6 +++---
 9 files changed, 45 insertions(+), 66 deletions(-)
---
diff --git a/gthumb/dom.c b/gthumb/dom.c
index 46adc48..4dc1f89 100644
--- a/gthumb/dom.c
+++ b/gthumb/dom.c
@@ -494,7 +494,6 @@ dom_document_new (void)
 DomElement *
 dom_document_create_element (DomDocument *self,
                             const char  *tag_name,
-                            const char  *first_attr,
                             ...)
 {
        DomElement *element;
@@ -506,12 +505,10 @@ dom_document_create_element (DomDocument *self,
        g_return_val_if_fail (tag_name != NULL, NULL);
 
        element = dom_element_new (tag_name);
-       va_start (var_args, first_attr);
-       attr = first_attr;
-        while (attr != NULL) {
+       va_start (var_args, tag_name);
+        while ((attr = va_arg (var_args, const char *)) != NULL) {
                value = va_arg (var_args, const char *);
                dom_element_set_attribute (element, attr, value);
-                attr = va_arg (var_args, const char *);
         }
        va_end (var_args);
 
@@ -534,7 +531,6 @@ DomElement *
 dom_document_create_element_with_text (DomDocument  *self,
                                       const char   *text_data,
                                       const char   *tag_name,
-                                      const char   *first_attr,
                                       ...)
 {
        DomElement *element;
@@ -546,12 +542,10 @@ dom_document_create_element_with_text (DomDocument  *self,
        g_return_val_if_fail (tag_name != NULL, NULL);
 
        element = dom_element_new (tag_name);
-       va_start (var_args, first_attr);
-       attr = first_attr;
-        while (attr != NULL) {
+       va_start (var_args, tag_name);
+        while ((attr = va_arg (var_args, const char *)) != NULL) {
                value = va_arg (var_args, const char *);
                dom_element_set_attribute (element, attr, value);
-                attr = va_arg (var_args, const char *);
         }
        va_end (var_args);
 
diff --git a/gthumb/dom.h b/gthumb/dom.h
index ad0b24b..ebc7c50 100644
--- a/gthumb/dom.h
+++ b/gthumb/dom.h
@@ -161,15 +161,13 @@ GType         dom_document_get_type                 (void);
 DomDocument * dom_document_new                      (void);
 DomElement *  dom_document_create_element           (DomDocument  *self,
                                                     const char   *tag_name,
-                                                    const char   *first_attr,
-                                                    ...);
+                                                    ...) G_GNUC_NULL_TERMINATED;
 DomElement *  dom_document_create_text_node         (DomDocument  *self,
                                                     const char   *data);
 DomElement *  dom_document_create_element_with_text (DomDocument  *self,
                                                     const char   *text,
                                                     const char   *tag_name,
-                                                    const char   *first_attr,
-                                                    ...);
+                                                    ...) G_GNUC_NULL_TERMINATED;
 char *        dom_document_dump                     (DomDocument  *self,
                                                     gsize        *len);
 gboolean      dom_document_load                     (DomDocument  *self,
diff --git a/gthumb/gedit-message-area.h b/gthumb/gedit-message-area.h
index 3302740..6730d1e 100644
--- a/gthumb/gedit-message-area.h
+++ b/gthumb/gedit-message-area.h
@@ -2,7 +2,7 @@
  * gedit-message-area.h
  * This file is part of gedit
  *
- * Copyright (C) 2005 - Paolo Maggi 
+ * Copyright (C) 2005 - Paolo Maggi
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -17,11 +17,11 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
- 
+
 /*
- * Modified by the gedit Team, 2005. See the AUTHORS file for a 
- * list of people on the gedit Team.  
- * See the ChangeLog files for a list of changes. 
+ * Modified by the gedit Team, 2005. See the AUTHORS file for a
+ * list of people on the gedit Team.
+ * See the ChangeLog files for a list of changes.
  *
  * $Id: gedit-message-area.h 6631 2008-11-29 11:06:49Z pborelli $
  */
@@ -51,7 +51,7 @@ typedef struct _GeditMessageAreaPrivate GeditMessageAreaPrivate;
  */
 typedef struct _GeditMessageArea GeditMessageArea;
 
-struct _GeditMessageArea 
+struct _GeditMessageArea
 {
        GtkBox parent;
 
@@ -64,7 +64,7 @@ struct _GeditMessageArea
  */
 typedef struct _GeditMessageAreaClass GeditMessageAreaClass;
 
-struct _GeditMessageAreaClass 
+struct _GeditMessageAreaClass
 {
        GtkBoxClass parent_class;
 
@@ -76,7 +76,7 @@ struct _GeditMessageAreaClass
 
        /* Padding for future expansion */
        void (*_gedit_reserved1) (void);
-       void (*_gedit_reserved2) (void);        
+       void (*_gedit_reserved2) (void);
 };
 
 /*
@@ -87,34 +87,34 @@ GType                gedit_message_area_get_type            (void) G_GNUC_CONST;
 GtkWidget      *gedit_message_area_new                 (void);
 
 GtkWidget      *gedit_message_area_new_with_buttons    (const gchar      *first_button_text,
-                                                        ...);
+                                                        ...) G_GNUC_NULL_TERMINATED;
 
 void            gedit_message_area_set_contents        (GeditMessageArea *message_area,
                                                         GtkWidget        *contents);
-                                        
+
 void            gedit_message_area_add_action_widget   (GeditMessageArea *message_area,
                                                         GtkWidget        *child,
                                                         gint              response_id);
-                                                        
+
 GtkWidget      *gedit_message_area_add_button          (GeditMessageArea *message_area,
                                                         const gchar      *button_text,
                                                         gint              response_id);
-                        
-GtkWidget      *gedit_message_area_add_stock_button_with_text 
-                                                       (GeditMessageArea *message_area, 
-                                                        const gchar      *text, 
-                                                        const gchar      *stock_id, 
+
+GtkWidget      *gedit_message_area_add_stock_button_with_text
+                                                       (GeditMessageArea *message_area,
+                                                        const gchar      *text,
+                                                        const gchar      *stock_id,
                                                         gint              response_id);
 
 void            gedit_message_area_add_buttons         (GeditMessageArea *message_area,
                                                         const gchar      *first_button_text,
-                                                        ...);
+                                                        ...) G_GNUC_NULL_TERMINATED;
 
-void            gedit_message_area_set_response_sensitive 
+void            gedit_message_area_set_response_sensitive
                                                        (GeditMessageArea *message_area,
                                                         gint              response_id,
                                                         gboolean          setting);
-void            gedit_message_area_set_default_response 
+void            gedit_message_area_set_default_response
                                                        (GeditMessageArea *message_area,
                                                         gint              response_id);
 
diff --git a/gthumb/glib-utils.h b/gthumb/glib-utils.h
index b194a3a..b0598ac 100644
--- a/gthumb/glib-utils.h
+++ b/gthumb/glib-utils.h
@@ -250,7 +250,7 @@ gboolean        _g_uri_parent_of_uri             (const char *dir,
 char *          _g_uri_get_parent                (const char *uri);
 char *          _g_uri_remove_extension          (const char *uri);
 char *          _g_build_uri                     (const char *base,
-                                                 ...);
+                                                 ...) G_GNUC_NULL_TERMINATED;
 char *          _g_uri_get_scheme                (const char *uri);
 const char *    _g_uri_remove_host               (const char *uri);
 char *          _g_uri_get_host                  (const char *uri);
@@ -272,7 +272,7 @@ GFile *         _g_file_get_destination          (GFile      *source,
                                                  GFile      *destination_folder);
 GFile *         _g_file_get_duplicated           (GFile      *file);
 GFile *         _g_file_get_child                (GFile      *file,
-                                                 ...);
+                                                 ...) G_GNUC_NULL_TERMINATED;
 GIcon *         _g_file_get_icon                 (GFile      *file);
 GList *         _g_file_list_dup                 (GList      *l);
 void            _g_file_list_free                (GList      *l);
diff --git a/gthumb/gth-main.c b/gthumb/gth-main.c
index 2357217..92609dd 100644
--- a/gthumb/gth-main.c
+++ b/gthumb/gth-main.c
@@ -612,7 +612,6 @@ gth_main_get_all_sort_types (void)
 
 static GthTypeSpec *
 _gth_main_create_type_spec (GType       object_type,
-                           const char *first_property_name,
                            va_list     var_args)
 {
        GObject     *object;
@@ -622,17 +621,15 @@ _gth_main_create_type_spec (GType       object_type,
 
        type_spec = gth_type_spec_new (object_type);
 
-       if (first_property_name == NULL)
-               return type_spec;
-
        object = g_object_new (object_type, NULL);
 
-       type_spec->params = g_new (GParameter, n_alloced_params);
-       name = first_property_name;
-       while (name != NULL) {
+       while ((name = va_arg (var_args, char *)) != NULL) {
                GParamSpec *pspec;
                char       *error = NULL;
 
+               if (type_spec->params == NULL)
+                       type_spec->params = g_new (GParameter, n_alloced_params);
+
                pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object), name);
                if (pspec == NULL) {
                        g_warning ("%s: object class `%s' has no property named `%s'",
@@ -652,7 +649,6 @@ _gth_main_create_type_spec (GType       object_type,
                        break;
                }
                type_spec->n_params++;
-               name = va_arg (var_args, char*);
        }
 
        g_object_unref (object);
@@ -676,7 +672,6 @@ _register_image_loader_func (GthImageLoaderFunc  loader,
 void
 gth_main_register_image_loader_func (GthImageLoaderFunc  loader,
                                     GthImageFormat      native_format,
-                                    const char         *first_mime_type,
                                     ...)
 {
        va_list     var_args;
@@ -684,12 +679,9 @@ gth_main_register_image_loader_func (GthImageLoaderFunc  loader,
 
        g_mutex_lock (&register_mutex);
 
-       va_start (var_args, first_mime_type);
-       mime_type = first_mime_type;
-       while (mime_type != NULL) {
+       va_start (var_args, native_format);
+       while ((mime_type = va_arg (var_args, const char *)) != NULL)
                _register_image_loader_func (loader, native_format, mime_type);
-               mime_type = va_arg (var_args, const char *);
-       }
        va_end (var_args);
 
        g_mutex_unlock (&register_mutex);
@@ -902,7 +894,6 @@ void
 gth_main_register_object (GType       superclass_type,
                          const char *object_id,
                          GType       object_type,
-                         const char *first_property_name,
                          ...)
 {
        const char  *superclass_name;
@@ -943,8 +934,8 @@ gth_main_register_object (GType       superclass_type,
                g_hash_table_insert (Main->priv->objects_order, g_strdup (superclass_name), object_order);
        }
 
-       va_start (var_args, first_property_name);
-       spec = _gth_main_create_type_spec (object_type, first_property_name, var_args);
+       va_start (var_args, object_type);
+       spec = _gth_main_create_type_spec (object_type, var_args);
        va_end (var_args);
 
        id = g_strdup (object_id);
diff --git a/gthumb/gth-main.h b/gthumb/gth-main.h
index 9e9fe3c..78f21d1 100644
--- a/gthumb/gth-main.h
+++ b/gthumb/gth-main.h
@@ -88,8 +88,7 @@ GthFileDataSort *      gth_main_get_sort_type                 (const char
 GList *                gth_main_get_all_sort_types            (void);
 void                   gth_main_register_image_loader_func    (GthImageLoaderFunc    loader,
                                                               GthImageFormat        native_format,
-                                                              const char           *first_mime_type,
-                                                              ...);
+                                                              ...) G_GNUC_NULL_TERMINATED;
 void                   gth_main_register_image_loader_func_v  (GthImageLoaderFunc    loader,
                                                               GthImageFormat        native_format,
                                                               const char          **mime_types);
@@ -101,8 +100,7 @@ GthTest *              gth_main_add_general_filter            (GthTest
 void                  gth_main_register_object               (GType                 superclass_type,
                                                               const char           *object_id,
                                                               GType                 object_type,
-                                                              const char           *first_property,
-                                                              ...);
+                                                              ...) G_GNUC_NULL_TERMINATED;
 GList *                gth_main_get_registered_objects        (GType                 superclass_type);
 GList *                gth_main_get_registered_objects_id     (GType                 superclass_type);
 gpointer               gth_main_get_registered_object         (GType                 superclass_type,
diff --git a/gthumb/gth-test-chain.c b/gthumb/gth-test-chain.c
index b97c34a..7fe51aa 100644
--- a/gthumb/gth-test-chain.c
+++ b/gthumb/gth-test-chain.c
@@ -251,19 +251,18 @@ gth_test_chain_init (GthTestChain *test)
 
 GthTest *
 gth_test_chain_new (GthMatchType  match_type,
-                   GthTest      *test,
                    ...)
 {
        GthTestChain *chain;
        va_list       args;
+       GthTest      *test;
 
        chain = g_object_new (GTH_TYPE_TEST_CHAIN, NULL);
        chain->priv->match_type = match_type;
 
-       va_start (args, test);
-       while (test != NULL) {
+       va_start (args, match_type);
+       while ((test = va_arg (args, GthTest *)) != NULL) {
                gth_test_chain_add_test (chain, g_object_ref (test));
-               test = va_arg (args, GthTest *);
        }
        va_end (args);
 
diff --git a/gthumb/gth-test-chain.h b/gthumb/gth-test-chain.h
index c8f7925..7c27c80 100644
--- a/gthumb/gth-test-chain.h
+++ b/gthumb/gth-test-chain.h
@@ -58,12 +58,11 @@ struct _GthTestChainClass
 
 GType          gth_test_chain_get_type        (void) G_GNUC_CONST;
 GthTest *      gth_test_chain_new             (GthMatchType   match_type,
-                                              GthTest       *first_test,
-                                              ...);
+                                              ...) G_GNUC_NULL_TERMINATED;
 void           gth_test_chain_set_match_type  (GthTestChain  *chain,
                                               GthMatchType   match_type);
 GthMatchType   gth_test_chain_get_match_type  (GthTestChain  *chain);
-void           gth_test_chain_clear_tests     (GthTestChain  *chain);                                        
+void           gth_test_chain_clear_tests     (GthTestChain  *chain);
 void           gth_test_chain_add_test        (GthTestChain  *chain,
                                               GthTest       *test);
 GList *        gth_test_chain_get_tests       (GthTestChain  *chain);
diff --git a/gthumb/gth-user-dir.h b/gthumb/gth-user-dir.h
index 933a7c1..6999763 100644
--- a/gthumb/gth-user-dir.h
+++ b/gthumb/gth-user-dir.h
@@ -37,13 +37,13 @@ typedef enum {
 
 void    gth_user_dir_mkdir_with_parents     (GthDir      dir_type,
                                            const char *first_element,
-                                            ...);
+                                            ...) G_GNUC_NULL_TERMINATED;
 GFile * gth_user_dir_get_file_for_read     (GthDir      dir_type,
                                            const char *first_element,
-                                           ...);
+                                           ...) G_GNUC_NULL_TERMINATED;
 GFile * gth_user_dir_get_file_for_write    (GthDir      dir_type,
                                            const char *first_element,
-                                           ...);
+                                           ...) G_GNUC_NULL_TERMINATED;
 
 G_END_DECLS
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]