You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apreq-cvs@httpd.apache.org by jo...@apache.org on 2003/07/12 01:16:58 UTC
cvs commit: httpd-apreq-2/glue/perl/xsbuilder/Apache/Request Apache__Request.h
joes 2003/07/11 16:16:58
Modified: glue/perl/xsbuilder apreq_xs_postperl.h
glue/perl/xsbuilder/Apache/Request Apache__Request.h
Log:
Minor GET macro cleanups.
Revision Changes Path
1.13 +32 -31 httpd-apreq-2/glue/perl/xsbuilder/apreq_xs_postperl.h
Index: apreq_xs_postperl.h
===================================================================
RCS file: /home/cvs/httpd-apreq-2/glue/perl/xsbuilder/apreq_xs_postperl.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- apreq_xs_postperl.h 27 Jun 2003 18:23:18 -0000 1.12
+++ apreq_xs_postperl.h 11 Jul 2003 23:16:58 -0000 1.13
@@ -296,7 +296,7 @@
#define apreq_xs_push(attr,sv,d,key) do { \
apr_table_t *t = apreq_xs_##attr##_sv2table(sv); \
if (t) \
- apr_table_do(apreq_xs_do(attr), &d, t, key, NULL); \
+ apr_table_do(apreq_xs_do(attr), d, t, key, NULL); \
} while (0)
/**
@@ -340,45 +340,46 @@
{ \
dXSARGS; \
const char *key = NULL; \
+ struct apreq_xs_do_arg d = { NULL, aTHX }; \
+ void *env; \
\
- if (items == 1 || items == 2 && SvROK(ST(0))) { \
- void *env = apreq_xs_##attr##_sv2env(ST(0)); \
- struct apreq_xs_do_arg d = { env, aTHX }; \
- apreq_##type##_t *RETVAL; \
- if (items == 2) \
- key = SvPV_nolen(ST(1)); \
+ if (items == 0 || items > 2 || !SvROK(ST(0))) \
+ Perl_croak(aTHX_ "Usage: $table->get($key)"); \
\
- switch (GIMME_V) { \
- apreq_##type##_t *RETVAL; \
+ env = apreq_xs_##attr##_sv2env(ST(0)); \
+ d.env = env; \
+ if (items == 2) \
+ key = SvPV_nolen(ST(1)); \
\
- case G_ARRAY: \
- XSprePUSH; \
- PUTBACK; \
- apreq_xs_##attr##_push(ST(0), d, key); \
- break; \
- \
- case G_SCALAR: \
- if (items == 1) { \
- apr_table_t *t = apreq_xs_##attr##_sv2table(ST(0)); \
- if (t == NULL) \
- XSRETURN_UNDEF; \
- ST(0) = sv_2mortal(apreq_xs_table2sv(t,class)); \
- XSRETURN(1); \
- } \
+ switch (GIMME_V) { \
+ apreq_##type##_t *RETVAL; \
\
- RETVAL = apreq_xs_##attr##_##type(ST(0), key); \
- if (!RETVAL || !(COND)) \
+ case G_ARRAY: \
+ XSprePUSH; \
+ PUTBACK; \
+ apreq_xs_##attr##_push(ST(0), &d, key); \
+ break; \
+ \
+ case G_SCALAR: \
+ if (items == 1) { \
+ apr_table_t *t = apreq_xs_##attr##_sv2table(ST(0)); \
+ if (t == NULL) \
XSRETURN_UNDEF; \
- ST(0) = sv_2mortal(apreq_xs_##type##2sv(RETVAL,subclass)); \
+ ST(0) = sv_2mortal(apreq_xs_table2sv(t,class)); \
XSRETURN(1); \
- \
- default: \
- XSRETURN(0); \
} \
+ \
+ RETVAL = apreq_xs_##attr##_##type(ST(0), key); \
+ if (!(COND) || !RETVAL) \
+ XSRETURN_UNDEF; \
+ ST(0) = sv_2mortal(apreq_xs_##type##2sv(RETVAL,subclass)); \
+ XSRETURN(1); \
+ \
+ default: \
+ XSRETURN(0); \
} \
- else \
- Perl_croak(aTHX_ "Usage: $table->get($key)"); \
}
+
/** @} */
1.14 +3 -3 httpd-apreq-2/glue/perl/xsbuilder/Apache/Request/Apache__Request.h
Index: Apache__Request.h
===================================================================
RCS file: /home/cvs/httpd-apreq-2/glue/perl/xsbuilder/Apache/Request/Apache__Request.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- Apache__Request.h 29 Jun 2003 03:41:17 -0000 1.13
+++ Apache__Request.h 11 Jul 2003 23:16:58 -0000 1.14
@@ -76,9 +76,9 @@
#define S2P(s) (s ? apreq_value_to_param(apreq_strtoval(s)) : NULL)
#define apreq_xs_request_push(sv,d,key) do { \
apreq_request_t *req = apreq_xs_sv2(request,sv); \
- apr_table_do(apreq_xs_do(request), &d, req->args, key, NULL); \
+ apr_table_do(apreq_xs_do(request), d, req->args, key, NULL); \
if (req->body) \
- apr_table_do(apreq_xs_do(request), &d, req->body, key, NULL); \
+ apr_table_do(apreq_xs_do(request), d, req->body, key, NULL); \
} while (0)
#define apreq_xs_args_push(sv,d,k) apreq_xs_push(args,sv,d,k)
#define apreq_xs_body_push(sv,d,k) apreq_xs_push(body,sv,d,k)
@@ -86,7 +86,7 @@
#define apreq_xs_upload_push(sv,d,key) do { \
apr_table_t *t = apreq_xs_body_sv2table(sv); \
if (t) \
- apr_table_do(apreq_xs_do(upload), &d, t, key, NULL); \
+ apr_table_do(apreq_xs_do(upload), d, t, key, NULL); \
} while (0)
#define apreq_xs_upload_table_push(sv,d,k) apreq_xs_push(upload_table,sv,d,k)