-/* $Id: perlread.c,v 1.3 2002-11-16 00:24:36 pop Exp $
+/* $Id: perlread.c,v 1.5 2003-02-26 11:40:04 pop Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
Index Data Aps
sv_setref_pv(msv, "_p_perl_context", (void*)context);
XPUSHs(msv) ;
PUTBACK ;
- call_method("new", 0);
+ call_method("new", G_EVAL);
SPAGAIN ;
context->filterRef = POPs;
}
/* Get pointers from the context. Easyer to wrap this by SWIG */
-data1_handle grs_perl_get_dh(struct perl_context *context) {
- return(context->dh);
+data1_handle *grs_perl_get_dh(struct perl_context *context) {
+ return(&context->dh);
}
-NMEM grs_perl_get_mem(struct perl_context *context) {
- return(context->mem);
+NMEM *grs_perl_get_mem(struct perl_context *context) {
+ return(&context->mem);
}
/* Set the result in the context */
the filter object reference may go out of scope... */
if (!SvOK(context->filterRef)) Filter_create(context);
+ if (!SvTRUE(context->filterRef)) {
+ logf (LOG_WARN,"Failed to initialize perl filter %s",context->filterClass);
+ return (0);
+ }
/* call the process method */
Filter_process(context);