| 497 return &PL_sv_undef; |
497 return &PL_sv_undef; |
| 498 |
498 |
| 499 return gaim_perl_sv_from_subtype(value, *copy_arg); |
499 return gaim_perl_sv_from_subtype(value, *copy_arg); |
| 500 |
500 |
| 501 case GAIM_TYPE_BOOLEAN: |
501 case GAIM_TYPE_BOOLEAN: |
| 502 *copy_arg = (void *)va_arg(*args, gboolean); |
502 *copy_arg = GINT_TO_POINTER( va_arg(*args, gboolean) ); |
| 503 |
503 |
| 504 return newSViv((gboolean)*copy_arg); |
504 return newSViv((gboolean)GPOINTER_TO_INT(*copy_arg)); |
| 505 |
505 |
| 506 case GAIM_TYPE_INT: |
506 case GAIM_TYPE_INT: |
| 507 *copy_arg = (void *)va_arg(*args, int); |
507 *copy_arg = GINT_TO_POINTER( va_arg(*args, int) ); |
| 508 |
508 |
| 509 return newSViv((int)*copy_arg); |
509 return newSViv(GPOINTER_TO_INT(*copy_arg)); |
| 510 |
510 |
| 511 case GAIM_TYPE_UINT: |
511 case GAIM_TYPE_UINT: |
| 512 *copy_arg = (void *)va_arg(*args, unsigned int); |
512 *copy_arg = GUINT_TO_POINTER(va_arg(*args, unsigned int)); |
| 513 |
513 |
| 514 return newSVuv((unsigned int)*copy_arg); |
514 return newSVuv(GPOINTER_TO_UINT(*copy_arg)); |
| 515 |
515 |
| 516 case GAIM_TYPE_LONG: |
516 case GAIM_TYPE_LONG: |
| 517 *copy_arg = (void *)va_arg(*args, long); |
517 *copy_arg = (void *)va_arg(*args, long); |
| 518 |
518 |
| 519 return newSViv((long)*copy_arg); |
519 return newSViv((long)*copy_arg); |