--- 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);