1################################################################################ 2## 3## Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz. 4## Version 2.x, Copyright (C) 2001, Paul Marquess. 5## Version 1.x, Copyright (C) 1999, Kenneth Albanowski. 6## 7## This program is free software; you can redistribute it and/or 8## modify it under the same terms as Perl itself. 9## 10################################################################################ 11 12=provides 13 14newRV_inc 15newRV_noinc 16 17=implementation 18 19__UNDEFINED__ newRV_inc(sv) newRV(sv) /* Replace */ 20 21#ifndef newRV_noinc 22#if { NEED newRV_noinc } 23SV * 24newRV_noinc(SV *sv) 25{ 26 SV *rv = (SV *)newRV(sv); 27 SvREFCNT_dec(sv); 28 return rv; 29} 30#endif 31#endif 32 33=xsinit 34 35#define NEED_newRV_noinc 36 37=xsubs 38 39U32 40newRV_inc_REFCNT() 41 PREINIT: 42 SV *sv, *rv; 43 CODE: 44 sv = newSViv(42); 45 rv = newRV_inc(sv); 46 SvREFCNT_dec(sv); 47 RETVAL = SvREFCNT(sv); 48 sv_2mortal(rv); 49 OUTPUT: 50 RETVAL 51 52U32 53newRV_noinc_REFCNT() 54 PREINIT: 55 SV *sv, *rv; 56 CODE: 57 sv = newSViv(42); 58 rv = newRV_noinc(sv); 59 RETVAL = SvREFCNT(sv); 60 sv_2mortal(rv); 61 OUTPUT: 62 RETVAL 63 64=tests plan => 2 65 66ok(&Devel::PPPort::newRV_inc_REFCNT, 1); 67ok(&Devel::PPPort::newRV_noinc_REFCNT, 1); 68