Joe Schaefer <[EMAIL PROTECTED]> writes: > From this, it looks to me like libapreq is parsing the POST data correctly > (the gif filename showing up as the eps param value is a tell-tale sign that > the upload was parsed ok). So the now question is: why isn't $mm->upload() > detecting that body table entry as being an upload?
I found the bug, thanks eps for helping to track it down! Here's the patch against apreq/trunk (some of the upload-related table callbacks were emitting the wrong return value, which prematurely terminates the upload search). Index: src/apreq_params.c =================================================================== --- src/apreq_params.c (revision 112718) +++ src/apreq_params.c (working copy) @@ -21,9 +21,8 @@ #define MAX_LEN (1024 * 1024) #define MAX_BRIGADE_LEN (1024 * 256) -#define MAX_FIELDS (200) #define MAX_READ_AHEAD (1024 * 64) - + APREQ_DECLARE(apreq_param_t *) apreq_make_param(apr_pool_t *p, const char *name, const apr_size_t nlen, @@ -147,7 +146,7 @@ apr_array_header_t *arr = data; *(apreq_param_t **)apr_array_push(arr) = apreq_value_to_param(apreq_strtoval(val)); - return 1; + return 1; /* keep going */ } @@ -323,7 +322,7 @@ apreq_param_t *p = apreq_value_to_param(apreq_strtoval(val)); if (p->bb) apr_table_addn(t, key, val); - return 0; + return 1; /* keep going */ } @@ -354,10 +353,10 @@ apreq_param_t **q = data; if (p->bb) { *q = p; - return 1; /* upload found, stop */ + return 0; /* upload found, stop */ } else - return 0; /* keep searching */ + return 1; /* keep searching */ } -- Joe Schaefer -- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html