typemap 806 B

12345678910111213141516171819202122232425262728293031323334
  1. B::MAGIC T_MG_OBJ
  2. B::REGEXP T_RX_OBJ
  3. B::COP T_OP_OBJ
  4. B::OP T_OP_OBJ
  5. INPUT
  6. T_RX_OBJ
  7. if (SvROK($arg)) {
  8. int type = SvTYPE(SvRV($arg));
  9. if (type == SVt_REGEXP || type == SVt_PVMG) {
  10. IV tmp = SvIV((SV*)SvRV($arg));
  11. $var = INT2PTR($type,tmp);
  12. }
  13. else
  14. croak(\"ref to $var is of type %d, not a reference to REGEXP\", type);
  15. }
  16. else
  17. croak(\"$var is of type %d, not a reference to REGEXP\", SvTYPE($arg));
  18. T_MG_OBJ
  19. if (SvROK($arg)) {
  20. IV tmp = SvIV((SV*)SvRV($arg));
  21. $var = INT2PTR($type,tmp);
  22. }
  23. else
  24. croak(\"$var is not a reference\")
  25. T_OP_OBJ
  26. if (SvROK($arg)) {
  27. IV tmp = SvIV((SV*)SvRV($arg));
  28. $var = INT2PTR($type,tmp);
  29. }
  30. else
  31. croak(\"$var is not a reference\")