libpurple/plugins/perl/perl-common.c

changeset 23980
a38cbb35eecf
parent 23915
b62601fd6e7d
child 26826
eef9f07b6874
--- a/libpurple/plugins/perl/perl-common.c	Thu Aug 07 01:08:37 2008 +0000
+++ b/libpurple/plugins/perl/perl-common.c	Thu Aug 07 01:41:44 2008 +0000
@@ -176,7 +176,6 @@
 {
 	int count = 0, i, ret_value = 1;
 	SV *sv_args[argc];
-	STRLEN na;
 	dSP;
 	PERL_SET_CONTEXT(my_perl);
 	/*
@@ -207,7 +206,7 @@
 	if (SvTRUE(ERRSV)) {
 		purple_debug(PURPLE_DEBUG_ERROR, "perl",
 				   "Perl function %s exited abnormally: %s\n",
-				   function, SvPV(ERRSV, na));
+				   function, SvPVutf8_nolen(ERRSV));
 		(void)POPs;
 	} else if (count != 1) {
 		/*
@@ -235,7 +234,7 @@
 			 * of hackish.  I should fix it.  Look how long this comment is.
 			 * Holy crap.
 			 */
-			args[i] = g_strdup(SvPV(sv_args[i], na));
+			args[i] = g_strdup(SvPVutf8_nolen(sv_args[i]));
 		}
 	}
 
@@ -381,7 +380,6 @@
 void *
 purple_perl_data_from_sv(PurpleValue *value, SV *sv)
 {
-	STRLEN na;
 
 	switch (purple_value_get_type(value)) {
 		case PURPLE_TYPE_BOOLEAN: return (void *)SvIV(sv);
@@ -391,7 +389,7 @@
 		case PURPLE_TYPE_ULONG:   return (void *)SvUV(sv);
 		case PURPLE_TYPE_INT64:   return (void *)SvIV(sv);
 		case PURPLE_TYPE_UINT64:  return (void *)SvUV(sv);
-		case PURPLE_TYPE_STRING:  return g_strdup((void *)SvPV(sv, na));
+		case PURPLE_TYPE_STRING:  return g_strdup(SvPVutf8_nolen(sv));
 		case PURPLE_TYPE_POINTER: return (void *)SvIV(sv);
 		case PURPLE_TYPE_BOXED:   return (void *)SvIV(sv);
 

mercurial