Mercurial > pidgin
comparison libpurple/plugins/perl/common/Cipher.xs @ 26935: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 | 907f5f41e32a |
children |
comparison
equal
deleted
inserted
replaced
26934:c162a088489f | 26935:31f65046b92d |
---|---|
64 gboolean ret; | 64 gboolean ret; |
65 guchar *buff = NULL; | 65 guchar *buff = NULL; |
66 guchar *data = NULL; | 66 guchar *data = NULL; |
67 size_t data_len; | 67 size_t data_len; |
68 CODE: | 68 CODE: |
69 data = SvPV(data_sv, data_len); | 69 data = (guchar *)SvPV(data_sv, data_len); |
70 SvUPGRADE(digest, SVt_PV); | 70 SvUPGRADE(digest, SVt_PV); |
71 buff = SvGROW(digest, in_len); | 71 buff = (guchar *)SvGROW(digest, in_len); |
72 ret = purple_cipher_digest_region(name, data, data_len, in_len, buff, &RETVAL); | 72 ret = purple_cipher_digest_region(name, data, data_len, in_len, buff, &RETVAL); |
73 if(!ret) { | 73 if(!ret) { |
74 SvSetSV_nosteal(digest, &PL_sv_undef); | 74 SvSetSV_nosteal(digest, &PL_sv_undef); |
75 XSRETURN_UNDEF; | 75 XSRETURN_UNDEF; |
76 } | 76 } |
179 PREINIT: | 179 PREINIT: |
180 gboolean ret; | 180 gboolean ret; |
181 guchar *buff = NULL; | 181 guchar *buff = NULL; |
182 CODE: | 182 CODE: |
183 SvUPGRADE(digest, SVt_PV); | 183 SvUPGRADE(digest, SVt_PV); |
184 buff = SvGROW(digest, in_len); | 184 buff = (guchar *)SvGROW(digest, in_len); |
185 ret = purple_cipher_context_digest(context, in_len, buff, &RETVAL); | 185 ret = purple_cipher_context_digest(context, in_len, buff, &RETVAL); |
186 if(!ret) { | 186 if(!ret) { |
187 SvSetSV_nosteal(digest, &PL_sv_undef); | 187 SvSetSV_nosteal(digest, &PL_sv_undef); |
188 XSRETURN_UNDEF; | 188 XSRETURN_UNDEF; |
189 } | 189 } |
223 PREINIT: | 223 PREINIT: |
224 size_t datalen; | 224 size_t datalen; |
225 guchar *buff = NULL; | 225 guchar *buff = NULL; |
226 guchar *data = NULL; | 226 guchar *data = NULL; |
227 CODE: | 227 CODE: |
228 data = SvPV(data_sv, datalen); | 228 data = (guchar *)SvPV(data_sv, datalen); |
229 SvUPGRADE(output, SVt_PV); | 229 SvUPGRADE(output, SVt_PV); |
230 buff = SvGROW(output, datalen); | 230 buff = (guchar *)SvGROW(output, datalen); |
231 RETVAL = purple_cipher_context_encrypt(context, data, datalen, buff, &outlen); | 231 RETVAL = purple_cipher_context_encrypt(context, data, datalen, buff, &outlen); |
232 if(outlen != 0) { | 232 if(outlen != 0) { |
233 SvPOK_only(output); | 233 SvPOK_only(output); |
234 SvCUR_set(output, outlen); | 234 SvCUR_set(output, outlen); |
235 } else { | 235 } else { |
247 PREINIT: | 247 PREINIT: |
248 size_t datalen; | 248 size_t datalen; |
249 guchar *buff = NULL; | 249 guchar *buff = NULL; |
250 guchar *data = NULL; | 250 guchar *data = NULL; |
251 CODE: | 251 CODE: |
252 data = SvPV(data_sv, datalen); | 252 data = (guchar *)SvPV(data_sv, datalen); |
253 SvUPGRADE(output, SVt_PV); | 253 SvUPGRADE(output, SVt_PV); |
254 buff = SvGROW(output, datalen); | 254 buff = (guchar *)SvGROW(output, datalen); |
255 RETVAL = purple_cipher_context_decrypt(context, data, datalen, buff, &outlen); | 255 RETVAL = purple_cipher_context_decrypt(context, data, datalen, buff, &outlen); |
256 if(outlen != 0) { | 256 if(outlen != 0) { |
257 SvPOK_only(output); | 257 SvPOK_only(output); |
258 SvCUR_set(output, outlen); | 258 SvCUR_set(output, outlen); |
259 } else { | 259 } else { |