dslinux/user/perl/ext/B/C C.xs Makefile.PL
cayenne
dslinux_cayenne at user.in-berlin.de
Mon Dec 4 17:59:08 CET 2006
Update of /cvsroot/dslinux/dslinux/user/perl/ext/B/C
In directory antilope:/tmp/cvs-serv17422/ext/B/C
Added Files:
C.xs Makefile.PL
Log Message:
Adding fresh perl source to HEAD to branch from
--- NEW FILE: C.xs ---
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
static int
my_runops(pTHX)
{
HV* regexp_hv = get_hv( "B::C::REGEXP", 0 );
SV* key = newSViv( 0 );
do {
PERL_ASYNC_CHECK();
if( PL_op->op_type == OP_QR ) {
PMOP* op;
REGEXP* rx = PM_GETRE( (PMOP*)PL_op );
SV* rv = newSViv( 0 );
Newx( op, 1, PMOP );
Copy( PL_op, op, 1, PMOP );
/* we need just the flags */
op->op_next = NULL;
op->op_sibling = NULL;
op->op_first = NULL;
op->op_last = NULL;
op->op_pmreplroot = NULL;
op->op_pmreplstart = NULL;
op->op_pmnext = NULL;
#ifdef USE_ITHREADS
op->op_pmoffset = 0;
#else
op->op_pmregexp = 0;
#endif
sv_setiv( key, PTR2IV( rx ) );
sv_setref_iv( rv, "B::PMOP", PTR2IV( op ) );
hv_store_ent( regexp_hv, key, rv, 0 );
}
} while ((PL_op = CALL_FPTR(PL_op->op_ppaddr)(aTHX)));
SvREFCNT_dec( key );
TAINT_NOT;
return 0;
}
MODULE=B__C PACKAGE=B::C
PROTOTYPES: DISABLE
BOOT:
PL_runops = my_runops;
--- NEW FILE: Makefile.PL ---
#!perl
use ExtUtils::MakeMaker;
WriteMakefile( NAME => 'B::C',
VERSION_FROM => '../B/C.pm'
);
More information about the dslinux-commit
mailing list