Author: humbedooh
Date: Fri Nov 1 12:40:29 2013
New Revision: 1537915
URL: http://svn.apache.org/r1537915
Log:
Fixes to the modguide, courtesy of Petter Berntsen (sluggr)
Modified:
httpd/httpd/trunk/docs/manual/developer/modguide.xml
Modified: httpd/httpd/trunk/docs/manual/developer/modguide.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/developer/modguide.xml?rev=1537915&r1=1537914&r2=1537915&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/developer/modguide.xml (original)
+++ httpd/httpd/trunk/docs/manual/developer/modguide.xml Fri Nov 1 12:40:29 2013
@@ -1610,31 +1610,38 @@ keyValuePair* readPost(request_rec* r) {
if (res != OK || !pairs) return NULL; /* Return NULL if we failed or if there are is
no POST data */
kvp = apr_pcalloc(r->pool, sizeof(keyValuePair) * (pairs->nelts + 1));
while (pairs && !apr_is_empty_array(pairs)) {
- i++;
ap_form_pair_t *pair = (ap_form_pair_t *) apr_array_pop(pairs);
apr_brigade_length(pair->value, 1, &len);
size = (apr_size_t) len;
buffer = apr_palloc(r->pool, size + 1);
apr_brigade_flatten(pair->value, buffer, &size);
buffer[len] = 0;
- kvp[i]->key = apr_pstrdup(r->pool, pair->name);
- kvp[i]->value = buffer;
+ kvp[i].key = apr_pstrdup(r->pool, pair->name);
+ kvp[i].value = buffer;
+ i++;
}
- return kvp;
+ return kvp;
}
-static int example_handler(request_rec *r)
+static int example_handler(request_rec *r)
{
/*~~~~~~~~~~~~~~~~~~~~~~*/
-
keyValuePair* formData;
/*~~~~~~~~~~~~~~~~~~~~~~*/
formData = readPost(r);
if (formData) {
int i;
- for (i = 0; formData[i]; i++) {
- ap_rprintf(r, "%s = %s\n", formData[i]->key, formData[i]->value);
+ for (i = 0; &formData[i]; i++) {
+ if (formData[i].key && formData[i].value) {
+ ap_rprintf(r, "%s = %s\n", formData[i].key, formData[i].value);
+ } else if (formData[i].key) {
+ ap_rprintf(r, "%s\n", formData[i].key);
+ } else if (formData[i].value) {
+ ap_rprintf(r, "= %s\n", formData[i].value);
+ } else {
+ break;
+ }
}
}
return OK;
@@ -1644,13 +1651,13 @@ static int example_handler(request_rec *
</section>
-
+
<section id="headers_out"><title>Printing out every HTTP header received</title>
-
+
<!-- BEGIN EXAMPLE CODE -->
<highlight language="c">
-static int example_handler(request_rec *r)
+static int example_handler(request_rec *r)
{
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
const apr_array_header_t *fields;
@@ -1661,7 +1668,7 @@ static int example_handler(request_rec *
fields = apr_table_elts(r->headers_in);
e = (apr_table_entry_t *) fields->elts;
for(i = 0; i < fields->nelts; i++) {
- ap_rprintf(r, "<b>%s</b>: %s<br/>",
e[i].key, e[i].val);
+ ap_rprintf(r, "%s: %s\n", e[i].key, e[i].val);
}
return OK;
}
@@ -1670,9 +1677,9 @@ static int example_handler(request_rec *
</section>
-
+
<section id="request_body"><title>Reading the request body into memory</title>
-
+
<!-- BEGIN EXAMPLE CODE -->
<highlight language="c">
@@ -1718,8 +1725,8 @@ static int example_handler(request_rec*
const char *buffer;
/*~~~~~~~~~~~~~~~~*/
- if(util_read(r, &data, &size) == OK) {
- ap_rprintf(r, "We read a request body that was %u bytes long",
size);
+ if(util_read(r, &buffer, &size) == OK) {
+ ap_rprintf(r, "We read a request body that was %" APR_OFF_T_FMT " bytes
long", size);
}
return OK;
}
|