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 {