Apache2-ModLogConfig

 view release on metacpan or  search on metacpan

ModLogConfig.xs  view on Meta::CPAN

  if( a && *a ) {
    I32 count;
    MP_dTHX;
    dSP;
    SV *sv;

    ENTER; SAVETMPS;
    PUSHMARK(SP);
    XPUSHs(sv_2mortal(modperl_ptr2obj(aTHX_ "Apache2::RequestRec", r)));

    PUTBACK;
    count=call_pv(a, G_SCALAR|G_EVAL);
    SPAGAIN;

    if( SvTRUE(ERRSV) ) {
      (void)POPs;		/* G_SCALAR leaves exactly one value:
				 * undef here */
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
		    "'%s' log format handler died: %s",
		    HND_KEY, SvPVX(ERRSV));
      a="";

ModLogConfig.xs  view on Meta::CPAN

      sv=POPs;
      a=SvPVbyte(sv, len);
      a=apr_pstrmemdup(r->pool, a, len);
    } else {
      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
		    "'%s' log format handler died: internal error - "
		    "multiple return values (must not happen)", HND_KEY);
      while( count-- ) (void)POPs;
    }

    PUTBACK;
    FREETMPS; LEAVE;

    MP_uTHX;
    return a;
  } else {
    ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
		  "invalid empty function in '%s' log format specification",
		  HND_KEY);
    return "";
  }

ppport.h  view on Meta::CPAN

PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
PUSH_MULTICALL||5.011000|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
PUSHp|||
PUSHs|||
PUSHu|5.004000||p
PUTBACK|||
PerlIO_clearerr||5.007003|
PerlIO_close||5.007003|
PerlIO_context_layers||5.009004|
PerlIO_eof||5.007003|
PerlIO_error||5.007003|
PerlIO_fileno||5.007003|
PerlIO_fill||5.007003|
PerlIO_flush||5.007003|
PerlIO_get_base||5.007003|
PerlIO_get_bufsiz||5.007003|

ppport.h  view on Meta::CPAN

{
    dSP;
    SV* sv = newSVpv(p, 0);

    PUSHMARK(sp);
    eval_sv(sv, G_SCALAR);
    SvREFCNT_dec(sv);

    SPAGAIN;
    sv = POPs;
    PUTBACK;

    if (croak_on_error && SvTRUE(GvSV(errgv)))
	croak(SvPVx(GvSV(errgv), na));

    return sv;
}

#endif
#endif



( run in 0.366 second using v1.01-cache-2.11-cpan-c6e0e5ac2a7 )