Mercurial > pidgin.yaz
comparison libpurple/plugins/perl/common/Util.xs @ 27017:31f65046b92d
Various perl warning fixes as well as real fixes to gconstpointer functions
SvPV, et al. take a char*, whereas the cipher and base16/64 encoding functions
return unsigned char*s, so cast away warnings about those distinctions.
get_image_extension and get_image_filename take a (char *, len) as arguments,
but the generated glue code wasn't interepreting the data as a giant array.
I think purple_imgstore_get_data is also broken, but is not fixed.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 22 May 2009 04:56:05 +0000 |
parents | 7bc52fed6fdb |
children | 943fce8ef142 |
comparison
equal
deleted
inserted
replaced
27016:c162a088489f | 27017:31f65046b92d |
---|---|
67 gchar_own* | 67 gchar_own* |
68 purple_message_meify(SV *msg) | 68 purple_message_meify(SV *msg) |
69 PREINIT: | 69 PREINIT: |
70 char *message = NULL; | 70 char *message = NULL; |
71 gboolean ret; | 71 gboolean ret; |
72 gssize len; | 72 gsize len; |
73 CODE: | 73 CODE: |
74 message = SvPV(msg, len); | 74 message = SvPV(msg, len); |
75 message = g_strndup(message, len); | 75 message = g_strndup(message, len); |
76 ret = purple_message_meify(message, len); | 76 ret = purple_message_meify(message, len); |
77 if(ret) { | 77 if(ret) { |
237 gsize len; | 237 gsize len; |
238 guchar *ret; | 238 guchar *ret; |
239 CODE: | 239 CODE: |
240 ret = purple_base16_decode(str, &len); | 240 ret = purple_base16_decode(str, &len); |
241 if(len) { | 241 if(len) { |
242 RETVAL = newSVpv(ret, len); | 242 RETVAL = newSVpv((gchar *)ret, len); |
243 } else { | 243 } else { |
244 g_free(ret); | 244 g_free(ret); |
245 XSRETURN_UNDEF; | 245 XSRETURN_UNDEF; |
246 } | 246 } |
247 g_free(ret); | 247 g_free(ret); |
255 gsize len; | 255 gsize len; |
256 guchar *ret; | 256 guchar *ret; |
257 CODE: | 257 CODE: |
258 ret = purple_base64_decode(str, &len); | 258 ret = purple_base64_decode(str, &len); |
259 if(len) { | 259 if(len) { |
260 RETVAL = newSVpv(ret, len); | 260 RETVAL = newSVpv((gchar *)ret, len); |
261 } else { | 261 } else { |
262 g_free(ret); | 262 g_free(ret); |
263 XSRETURN_UNDEF; | 263 XSRETURN_UNDEF; |
264 } | 264 } |
265 g_free(ret); | 265 g_free(ret); |
273 gsize len; | 273 gsize len; |
274 guchar *ret; | 274 guchar *ret; |
275 CODE: | 275 CODE: |
276 ret = purple_quotedp_decode(str, &len); | 276 ret = purple_quotedp_decode(str, &len); |
277 if(len) { | 277 if(len) { |
278 RETVAL = newSVpv(ret, len); | 278 RETVAL = newSVpv((gchar *)ret, len); |
279 } else { | 279 } else { |
280 g_free(ret); | 280 g_free(ret); |
281 XSRETURN_UNDEF; | 281 XSRETURN_UNDEF; |
282 } | 282 } |
283 g_free(ret); | 283 g_free(ret); |
497 const char* artist | 497 const char* artist |
498 const char* album | 498 const char* album |
499 gpointer unused | 499 gpointer unused |
500 | 500 |
501 const char* | 501 const char* |
502 purple_util_get_image_extension(gconstpointer data, size_t length(data)) | 502 purple_util_get_image_extension(const char *data, size_t length(data)) |
503 PROTOTYPE: $ | 503 PROTOTYPE: $ |
504 | 504 |
505 gchar_own* | 505 gchar_own* |
506 purple_util_get_image_filename(gconstpointer image_data, size_t length(image_data)) | 506 purple_util_get_image_filename(const char *image_data, size_t length(image_data)) |
507 PROTOTYPE: $ | 507 PROTOTYPE: $ |
508 | 508 |
509 Purple::XMLNode | 509 Purple::XMLNode |
510 purple_util_read_xml_from_file(filename, description) | 510 purple_util_read_xml_from_file(filename, description) |
511 const char* filename | 511 const char* filename |