Current Path : /usr/local/include/apache/modules/perl/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/include/apache/modules/perl/mod_perl_xs.h |
/* handy macros for RETVAL */ #define get_set_PVp(thing,p) \ RETVAL = (char*)thing; \ if(items > 1) \ thing = (char*)(SvOK(ST(1)) ? pstrdup(p, SvPV(ST(1),na)) : NULL) #define get_set_PV(thing) \ get_set_PVp(thing,r->pool) #define get_set_IV(thing) \ RETVAL = thing; \ if(items > 1) \ thing = (int)SvIV(ST(1)) #define TABLE_GET_SET(table, do_taint) \ if(key == NULL) { \ ST(0) = table ? mod_perl_tie_table(table) : &sv_undef; \ XSRETURN(1); \ } \ else { \ char *val; \ if(table && (val = (char *)table_get(table, key))) \ RETVAL = newSVpv(val, 0); \ else \ RETVAL = newSV(0); \ if(do_taint) SvTAINTED_on(RETVAL); \ if(table && (items > 2)) { \ if(ST(2) == &sv_undef) \ table_unset(table, key); \ else \ table_set(table, key, SvPV(ST(2),na)); \ } \ } #define MP_CHECK_REQ(r,f) \ if(!r) croak("`%s' called without setting Apache->request!", f) /* for Apache::fork, should no longer need */ #ifdef Apache__fork extern listen_rec *listeners; extern int mod_perl_socketexitoption; extern int mod_perl_weareaforkedchild; #define Apache_exit_is_done(sts) \ ((sts == DONE) || (mod_perl_weareaforkedchild && (mod_perl_socketexitoption > 1))) #else #define Apache_exit_is_done(sts) (sts == DONE) #endif