libpurple/plugins/perl/common/Conversation.xs

changeset 23980
a38cbb35eecf
parent 21737
fa92350ed598
child 23983
586866581434
equal deleted inserted replaced
23979:936d7ef5cece 23980:a38cbb35eecf
340 int i, t_len; 340 int i, t_len;
341 PPCODE: 341 PPCODE:
342 t_GL = NULL; 342 t_GL = NULL;
343 t_len = av_len((AV *)SvRV(users)); 343 t_len = av_len((AV *)SvRV(users));
344 344
345 for (i = 0; i < t_len; i++) { 345 for (i = 0; i < t_len; i++)
346 STRLEN t_sl; 346 t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(users), i, 0)));
347 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(users), i, 0), t_sl));
348 }
349 347
350 for (l = purple_conv_chat_set_users(chat, t_GL); l != NULL; l = l->next) { 348 for (l = purple_conv_chat_set_users(chat, t_GL); l != NULL; l = l->next) {
351 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry"))); 349 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
352 } 350 }
353 351
380 int i, t_len; 378 int i, t_len;
381 PPCODE: 379 PPCODE:
382 t_GL = NULL; 380 t_GL = NULL;
383 t_len = av_len((AV *)SvRV(ignored)); 381 t_len = av_len((AV *)SvRV(ignored));
384 382
385 for (i = 0; i < t_len; i++) { 383 for (i = 0; i < t_len; i++)
386 STRLEN t_sl; 384 t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(ignored), i, 0)));
387 t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(ignored), i, 0), t_sl));
388 }
389 385
390 for (l = purple_conv_chat_set_ignored(chat, t_GL); l != NULL; l = l->next) { 386 for (l = purple_conv_chat_set_ignored(chat, t_GL); l != NULL; l = l->next) {
391 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry"))); 387 XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::ListEntry")));
392 } 388 }
393 389
439 int i, t_len; 435 int i, t_len;
440 PPCODE: 436 PPCODE:
441 t_GL_users = NULL; 437 t_GL_users = NULL;
442 t_len = av_len((AV *)SvRV(users)); 438 t_len = av_len((AV *)SvRV(users));
443 439
444 for (i = 0; i < t_len; i++) { 440 for (i = 0; i < t_len; i++)
445 STRLEN t_sl; 441 t_GL_users = g_list_append(t_GL_users, SvPVutf8_nolen(*av_fetch((AV *)SvRV(users), i, 0)));
446 t_GL_users = g_list_append(t_GL_users, SvPV(*av_fetch((AV *)SvRV(users), i, 0), t_sl));
447 }
448 442
449 t_GL_flags = NULL; 443 t_GL_flags = NULL;
450 t_len = av_len((AV *)SvRV(flags)); 444 t_len = av_len((AV *)SvRV(flags));
451 445
452 for (i = 0; i < t_len; i++) { 446 for (i = 0; i < t_len; i++)
453 STRLEN t_sl; 447 t_GL_flags = g_list_append(t_GL_flags, SvPVutf8_nolen(*av_fetch((AV *)SvRV(flags), i, 0)));
454 t_GL_flags = g_list_append(t_GL_flags, SvPV(*av_fetch((AV *)SvRV(flags), i, 0), t_sl));
455 }
456 448
457 t_GL_extra_msgs = NULL; 449 t_GL_extra_msgs = NULL;
458 t_len = av_len((AV *)SvRV(extra_msgs)); 450 t_len = av_len((AV *)SvRV(extra_msgs));
459 451
460 for (i = 0; i < t_len; i++) { 452 for (i = 0; i < t_len; i++)
461 STRLEN t_sl; 453 t_GL_extra_msgs = g_list_append(t_GL_extra_msgs, SvPVutf8_nolen(*av_fetch((AV *)SvRV(extra_msgs), i, 0)));
462 t_GL_extra_msgs = g_list_append(t_GL_extra_msgs, SvPV(*av_fetch((AV *)SvRV(extra_msgs), i, 0), t_sl));
463 }
464 454
465 purple_conv_chat_add_users(chat, t_GL_users, t_GL_extra_msgs, t_GL_flags, new_arrivals); 455 purple_conv_chat_add_users(chat, t_GL_users, t_GL_extra_msgs, t_GL_flags, new_arrivals);
466 456
467 g_list_free(t_GL_users); 457 g_list_free(t_GL_users);
468 g_list_free(t_GL_extra_msgs); 458 g_list_free(t_GL_extra_msgs);

mercurial