[perl-Gnome2] Avoid misusing PL_na



commit 0d088747cd3789a8f6cf7378ce01a2bb3dfddb80
Author: Torsten Schönfeld <kaffeetisch gmx de>
Date:   Wed Sep 25 20:15:22 2013 +0200

    Avoid misusing PL_na

 NEWS                  |    7 +++++++
 xs/GnomeAbout.xs      |    8 ++++----
 xs/GnomeConfig.xs     |   10 +++++-----
 xs/GnomeI18N.xs       |    2 +-
 xs/GnomeIconLookup.xs |    4 ++--
 xs/GnomeIconTheme.xs  |   10 +++++-----
 xs/GnomeModuleInfo.xs |    8 ++++----
 xs/GnomeScore.xs      |    2 +-
 xs/GnomeUIDefs.xs     |   46 +++++++++++++++++++++++-----------------------
 9 files changed, 52 insertions(+), 45 deletions(-)
---
diff --git a/NEWS b/NEWS
index 336d77d..b0c4d43 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+Overview of changes in Gnome2 <next>
+===================================
+
+* Avoid misusing the macro PL_na, thus preventing issues when Glib is used in
+  conjunction with certain XS modules, among them XML::Parser and
+  String::Approx.
+
 Overview of changes in Gnome2 1.042
 ===================================
 
diff --git a/xs/GnomeAbout.xs b/xs/GnomeAbout.xs
index 6e0aff7..972bbe1 100644
--- a/xs/GnomeAbout.xs
+++ b/xs/GnomeAbout.xs
@@ -51,12 +51,12 @@ gnome_about_new (class, name, version, copyright, comments, authors, documenters
                        a = g_new0 (const gchar*, av_len(av)+2);
 
                        for(i=0;i<=av_len(av);i++) {
-                               a[i] = SvPV(*av_fetch(av, i, 0), PL_na);
+                               a[i] = SvPV_nolen(*av_fetch(av, i, 0));
                        }
                        a[i] = NULL;
                } else {
                        a = (const gchar**)malloc(sizeof(const gchar*) * 2);
-                       a[0] = SvPV(authors, PL_na);
+                       a[0] = SvPV_nolen(authors);
                        a[1] = NULL;
                }
        } else {
@@ -73,12 +73,12 @@ gnome_about_new (class, name, version, copyright, comments, authors, documenters
                        d = g_new (const gchar*, av_len(av)+2);
 
                        for(i=0;i<=av_len(av);i++) {
-                               d[i] = SvPV(*av_fetch(av, i, 0), PL_na);
+                               d[i] = SvPV_nolen(*av_fetch(av, i, 0));
                        }
                        d[i] = NULL;
                } else {
                        d = (const gchar**)malloc(sizeof(const gchar*) * 2);
-                       d[0] = SvPV(documenters, PL_na);
+                       d[0] = SvPV_nolen(documenters);
                        d[1] = NULL;
                }
        }
diff --git a/xs/GnomeConfig.xs b/xs/GnomeConfig.xs
index b648854..8fae54d 100644
--- a/xs/GnomeConfig.xs
+++ b/xs/GnomeConfig.xs
@@ -94,7 +94,7 @@ get_string_with_default (class, path)
        EXTEND (sp, 1);
        PUSHs (sv_2mortal (newSVuv (def)));
        if (retval != NULL)
-               XPUSHs (sv_2mortal (newSVpv (retval, PL_na)));
+               XPUSHs (sv_2mortal (newSVpv (retval, 0)));
 
        g_free (retval);
 
@@ -226,7 +226,7 @@ get_vector (class, path)
 
        if (argv != NULL) {
                for (i = 0; i < argc; i++)
-                       av_push (array, newSVpv (argv[i], PL_na));
+                       av_push (array, newSVpv (argv[i], 0));
 
                g_free (argv);
        }
@@ -258,7 +258,7 @@ get_vector_with_default (class, path)
 
        if (argv != NULL) {
                for (i = 0; i < argc; i++)
-                       av_push (array, newSVpv (argv[i], PL_na));
+                       av_push (array, newSVpv (argv[i], 0));
 
                g_free (argv);
        }
@@ -483,8 +483,8 @@ gnome_config_iterator_next (handle)
                EXTEND (sp, 3);
 
                PUSHs (sv_2mortal (newSVGnomeConfigIterator (new)));
-               PUSHs (sv_2mortal (newSVpv (key, PL_na)));
-               PUSHs (sv_2mortal (newSVpv (value, PL_na)));
+               PUSHs (sv_2mortal (newSVpv (key, 0)));
+               PUSHs (sv_2mortal (newSVpv (value, 0)));
 
                g_free (key);
                g_free (value);
diff --git a/xs/GnomeI18N.xs b/xs/GnomeI18N.xs
index 539af8c..1de9b6b 100644
--- a/xs/GnomeI18N.xs
+++ b/xs/GnomeI18N.xs
@@ -36,7 +36,7 @@ gnome_i18n_get_language_list (class, category_name=NULL)
     PPCODE:
        results = gnome_i18n_get_language_list (category_name);
        for ( ; results != NULL; results = results->next)
-               XPUSHs (sv_2mortal (newSVpv (results->data, PL_na)));
+               XPUSHs (sv_2mortal (newSVpv (results->data, 0)));
 
 ##  void gnome_i18n_push_c_numeric_locale (void) 
 void
diff --git a/xs/GnomeIconLookup.xs b/xs/GnomeIconLookup.xs
index 68e6029..5e9cde0 100644
--- a/xs/GnomeIconLookup.xs
+++ b/xs/GnomeIconLookup.xs
@@ -62,7 +62,7 @@ gnome_icon_lookup (icon_theme, thumbnail_factory, file_uri, custom_icon, file_in
                XSRETURN_UNDEF;
 
        EXTEND (sp, 2);
-       PUSHs (sv_2mortal (newSVpv (icon, PL_na)));
+       PUSHs (sv_2mortal (newSVpv (icon, 0)));
        PUSHs (sv_2mortal (newSVGnomeIconLookupFlags (result)));
 
        g_free (icon);
@@ -94,7 +94,7 @@ gnome_icon_lookup_sync (icon_theme, thumbnail_factory, file_uri, custom_icon, fl
                XSRETURN_UNDEF;
 
        EXTEND (sp, 2);
-       PUSHs (sv_2mortal (newSVpv (icon, PL_na)));
+       PUSHs (sv_2mortal (newSVpv (icon, 0)));
        PUSHs (sv_2mortal (newSVGnomeIconLookupFlags (result)));
 
        g_free (icon);
diff --git a/xs/GnomeIconTheme.xs b/xs/GnomeIconTheme.xs
index 9834a34..85db68a 100644
--- a/xs/GnomeIconTheme.xs
+++ b/xs/GnomeIconTheme.xs
@@ -51,7 +51,7 @@ newSVGnomeIconData (const GnomeIconData * data)
                hv_store (hv, "y1", 2, newSViv (data->y1), 0);
                hv_store (hv, "attach_points", 13, newRV_noinc ((SV*) av), 0);
                if (data->display_name)
-                       hv_store (hv, "display_name", 12, newSVpv (data->display_name, PL_na), 0);
+                       hv_store (hv, "display_name", 12, newSVpv (data->display_name, 0), 0);
        }
 
        return newRV_noinc ((SV *) hv);
@@ -92,7 +92,7 @@ SvGnomeIconData (SV * sv)
        if (value) data->y1 = SvIV (*value);
 
        value = hv_fetch (hv, "display_name", 12, FALSE);
-       if (value) data->display_name = SvPV (*value, PL_na);
+       if (value) data->display_name = SvPV_nolen (*value);
 
        /* ----------------------------------------------------------------- */
 
@@ -185,7 +185,7 @@ gnome_icon_theme_get_search_path (theme)
        if (path) {
                EXTEND (sp, n_elements);
                for (i = 0; i < n_elements; i++)
-                       PUSHs (sv_2mortal (newSVpv (path[i], PL_na)));
+                       PUSHs (sv_2mortal (newSVpv (path[i], 0)));
        }
        else
                XSRETURN_EMPTY;
@@ -242,7 +242,7 @@ gnome_icon_theme_lookup_icon (theme, icon_name, size)
                XSRETURN_EMPTY;
 
        EXTEND (sp, 3);
-       PUSHs (sv_2mortal (newSVpv (filename, PL_na)));
+       PUSHs (sv_2mortal (newSVpv (filename, 0)));
        PUSHs (sv_2mortal (newSVGnomeIconData (icon_data)));
        PUSHs (sv_2mortal (newSViv (base_size)));
 
@@ -269,7 +269,7 @@ gnome_icon_theme_list_icons (theme, context=NULL)
     PPCODE:
        results = gnome_icon_theme_list_icons (theme, context);
        for (i = results; i != NULL; i = i->next) {
-               XPUSHs (sv_2mortal (newSVpv (i->data, PL_na)));
+               XPUSHs (sv_2mortal (newSVpv (i->data, 0)));
                g_free (i->data);
        }
        g_list_free (results);
diff --git a/xs/GnomeModuleInfo.xs b/xs/GnomeModuleInfo.xs
index 71c3490..fbd7501 100644
--- a/xs/GnomeModuleInfo.xs
+++ b/xs/GnomeModuleInfo.xs
@@ -48,10 +48,10 @@ name (module_info)
        Gnome2::ModuleInfo::opt_prefix = 3
     CODE:
        switch (ix) {
-               case 0: RETVAL = newSVpv (module_info->name, PL_na); break;
-               case 1: RETVAL = newSVpv (module_info->version, PL_na); break;
-               case 2: RETVAL = newSVpv (module_info->description, PL_na); break;
-               case 3: RETVAL = newSVpv (module_info->opt_prefix, PL_na); break;
+               case 0: RETVAL = newSVpv (module_info->name, 0); break;
+               case 1: RETVAL = newSVpv (module_info->version, 0); break;
+               case 2: RETVAL = newSVpv (module_info->description, 0); break;
+               case 3: RETVAL = newSVpv (module_info->opt_prefix, 0); break;
                default: RETVAL = &PL_sv_undef;
        }
     OUTPUT:
diff --git a/xs/GnomeScore.xs b/xs/GnomeScore.xs
index 6af9dea..2949e07 100644
--- a/xs/GnomeScore.xs
+++ b/xs/GnomeScore.xs
@@ -59,7 +59,7 @@ gnome_score_get_notable (class, gamename, level)
        for (i = 0; i < results; i++) {
                AV *set = newAV ();
 
-               av_store (set, 0, newSVpv (names[i], PL_na));
+               av_store (set, 0, newSVpv (names[i], 0));
                av_store (set, 1, newSVnv (scores[i]));
                av_store (set, 2, newSViv (scoretimes[i]));
 
diff --git a/xs/GnomeUIDefs.xs b/xs/GnomeUIDefs.xs
index 69fc0f1..559114e 100644
--- a/xs/GnomeUIDefs.xs
+++ b/xs/GnomeUIDefs.xs
@@ -83,76 +83,76 @@ pad (class)
                case 1: RETVAL = newSViv (GNOME_PAD_SMALL); break;
                case 2: RETVAL = newSViv (GNOME_PAD_BIG); break;
 
-               case 4: key[0] = GNOME_KEY_NAME_QUIT; RETVAL = newSVpv (key, PL_na); break;
+               case 4: key[0] = GNOME_KEY_NAME_QUIT; RETVAL = newSVpv (key, 0); break;
                case 5: RETVAL = newSViv (GNOME_KEY_MOD_QUIT); break;
 
-               case 8: key[0] = GNOME_KEY_NAME_CLOSE; RETVAL = newSVpv (key, PL_na); break;
+               case 8: key[0] = GNOME_KEY_NAME_CLOSE; RETVAL = newSVpv (key, 0); break;
                case 9: RETVAL = newSViv (GNOME_KEY_MOD_CLOSE); break;
 
-               case 10: key[0] = GNOME_KEY_NAME_CUT; RETVAL = newSVpv (key, PL_na); break;
+               case 10: key[0] = GNOME_KEY_NAME_CUT; RETVAL = newSVpv (key, 0); break;
                case 11: RETVAL = newSViv (GNOME_KEY_MOD_CUT); break;
 
-               case 12: key[0] = GNOME_KEY_NAME_COPY; RETVAL = newSVpv (key, PL_na); break;
+               case 12: key[0] = GNOME_KEY_NAME_COPY; RETVAL = newSVpv (key, 0); break;
                case 13: RETVAL = newSViv (GNOME_KEY_MOD_COPY); break;
 
-               case 14: key[0] = GNOME_KEY_NAME_PASTE; RETVAL = newSVpv (key, PL_na); break;
+               case 14: key[0] = GNOME_KEY_NAME_PASTE; RETVAL = newSVpv (key, 0); break;
                case 15: RETVAL = newSViv (GNOME_KEY_MOD_PASTE); break;
 
-               case 16: key[0] = GNOME_KEY_NAME_SELECT_ALL; RETVAL = newSVpv (key, PL_na); break;
+               case 16: key[0] = GNOME_KEY_NAME_SELECT_ALL; RETVAL = newSVpv (key, 0); break;
                case 17: RETVAL = newSViv (GNOME_KEY_MOD_SELECT_ALL); break;
 
-               case 18: key[0] = GNOME_KEY_NAME_CLEAR; RETVAL = newSVpv (key, PL_na); break;
+               case 18: key[0] = GNOME_KEY_NAME_CLEAR; RETVAL = newSVpv (key, 0); break;
                case 19: RETVAL = newSViv (GNOME_KEY_MOD_CLEAR); break;
 
-               case 20: key[0] = GNOME_KEY_NAME_UNDO; RETVAL = newSVpv (key, PL_na); break;
+               case 20: key[0] = GNOME_KEY_NAME_UNDO; RETVAL = newSVpv (key, 0); break;
                case 21: RETVAL = newSViv (GNOME_KEY_MOD_UNDO); break;
 
-               case 22: key[0] = GNOME_KEY_NAME_REDO; RETVAL = newSVpv (key, PL_na); break;
+               case 22: key[0] = GNOME_KEY_NAME_REDO; RETVAL = newSVpv (key, 0); break;
                case 23: RETVAL = newSViv (GNOME_KEY_MOD_REDO); break;
 
-               case 24: key[0] = GNOME_KEY_NAME_SAVE; RETVAL = newSVpv (key, PL_na); break;
+               case 24: key[0] = GNOME_KEY_NAME_SAVE; RETVAL = newSVpv (key, 0); break;
                case 25: RETVAL = newSViv (GNOME_KEY_MOD_SAVE); break;
 
-               case 26: key[0] = GNOME_KEY_NAME_OPEN; RETVAL = newSVpv (key, PL_na); break;
+               case 26: key[0] = GNOME_KEY_NAME_OPEN; RETVAL = newSVpv (key, 0); break;
                case 27: RETVAL = newSViv (GNOME_KEY_MOD_OPEN); break;
 
-               case 28: key[0] = GNOME_KEY_NAME_SAVE_AS; RETVAL = newSVpv (key, PL_na); break;
+               case 28: key[0] = GNOME_KEY_NAME_SAVE_AS; RETVAL = newSVpv (key, 0); break;
                case 29: RETVAL = newSViv (GNOME_KEY_MOD_SAVE_AS); break;
 
-               case 30: key[0] = GNOME_KEY_NAME_NEW; RETVAL = newSVpv (key, PL_na); break;
+               case 30: key[0] = GNOME_KEY_NAME_NEW; RETVAL = newSVpv (key, 0); break;
                case 31: RETVAL = newSViv (GNOME_KEY_MOD_NEW); break;
 
-               case 32: key[0] = GNOME_KEY_NAME_PRINT; RETVAL = newSVpv (key, PL_na); break;
+               case 32: key[0] = GNOME_KEY_NAME_PRINT; RETVAL = newSVpv (key, 0); break;
                case 33: RETVAL = newSViv (GNOME_KEY_MOD_PRINT); break;
 
-               case 34: key[0] = GNOME_KEY_NAME_PRINT_SETUP; RETVAL = newSVpv (key, PL_na); break;
+               case 34: key[0] = GNOME_KEY_NAME_PRINT_SETUP; RETVAL = newSVpv (key, 0); break;
                case 35: RETVAL = newSViv (GNOME_KEY_MOD_PRINT_SETUP); break;
 
-               case 36: key[0] = GNOME_KEY_NAME_FIND; RETVAL = newSVpv (key, PL_na); break;
+               case 36: key[0] = GNOME_KEY_NAME_FIND; RETVAL = newSVpv (key, 0); break;
                case 37: RETVAL = newSViv (GNOME_KEY_MOD_FIND); break;
 
-               case 38: key[0] = GNOME_KEY_NAME_FIND_AGAIN; RETVAL = newSVpv (key, PL_na); break;
+               case 38: key[0] = GNOME_KEY_NAME_FIND_AGAIN; RETVAL = newSVpv (key, 0); break;
                case 39: RETVAL = newSViv (GNOME_KEY_MOD_FIND_AGAIN); break;
 
-               case 40: key[0] = GNOME_KEY_NAME_REPLACE; RETVAL = newSVpv (key, PL_na); break;
+               case 40: key[0] = GNOME_KEY_NAME_REPLACE; RETVAL = newSVpv (key, 0); break;
                case 41: RETVAL = newSViv (GNOME_KEY_MOD_REPLACE); break;
 
-               case 42: key[0] = GNOME_KEY_NAME_NEW_WINDOW; RETVAL = newSVpv (key, PL_na); break;
+               case 42: key[0] = GNOME_KEY_NAME_NEW_WINDOW; RETVAL = newSVpv (key, 0); break;
                case 43: RETVAL = newSViv (GNOME_KEY_MOD_NEW_WINDOW); break;
 
-               case 44: key[0] = GNOME_KEY_NAME_CLOSE_WINDOW; RETVAL = newSVpv (key, PL_na); break;
+               case 44: key[0] = GNOME_KEY_NAME_CLOSE_WINDOW; RETVAL = newSVpv (key, 0); break;
                case 45: RETVAL = newSViv (GNOME_KEY_MOD_CLOSE_WINDOW); break;
 
-               case 46: key[0] = GNOME_KEY_NAME_REDO_MOVE; RETVAL = newSVpv (key, PL_na); break;
+               case 46: key[0] = GNOME_KEY_NAME_REDO_MOVE; RETVAL = newSVpv (key, 0); break;
                case 47: RETVAL = newSViv (GNOME_KEY_MOD_REDO_MOVE); break;
 
-               case 48: key[0] = GNOME_KEY_NAME_UNDO_MOVE; RETVAL = newSVpv (key, PL_na); break;
+               case 48: key[0] = GNOME_KEY_NAME_UNDO_MOVE; RETVAL = newSVpv (key, 0); break;
                case 49: RETVAL = newSViv (GNOME_KEY_MOD_UNDO_MOVE); break;
 
                case 50: RETVAL = newSViv (GNOME_KEY_NAME_PAUSE_GAME); break;
                case 51: RETVAL = newSViv (GNOME_KEY_MOD_PAUSE_GAME); break;
 
-               case 52: key[0] = GNOME_KEY_NAME_NEW_GAME; RETVAL = newSVpv (key, PL_na); break;
+               case 52: key[0] = GNOME_KEY_NAME_NEW_GAME; RETVAL = newSVpv (key, 0); break;
                case 53: RETVAL = newSViv (GNOME_KEY_MOD_NEW_GAME); break;
 
                default: RETVAL = &PL_sv_undef;


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