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 2004/08/04 19:40:55 UTC

cvs commit: httpd-apreq-2/src apreq_cookie.c apreq_params.c

joes        2004/08/04 10:40:55

  Modified:    glue/perl/xsbuilder/Apache/Request Apache__Request.h
               src      apreq_cookie.c apreq_params.c
  Log:
  Incorporate new req->body_status into apreq_param.c, and add missing NULL argument to the apr_table_do call in apreq_ua_cookie_version().
  
  Revision  Changes    Path
  1.54      +1 -1      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.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- Apache__Request.h	3 Aug 2004 18:07:58 -0000	1.53
  +++ Apache__Request.h	4 Aug 2004 17:40:54 -0000	1.54
  @@ -106,7 +106,7 @@
       req = apreq_request(env, data);
   
       /*FIXME: mg_mg->ptr */
  -    sv = apreq_xs_2sv(req, SvPV_nolen(ST(0)),SvRV(ST(1)));
  +    sv = apreq_xs_2sv(req, SvPV_nolen(ST(0)), SvRV(ST(1)));
       SvTAINTED_on(SvRV(sv));
       ST(0) = sv_2mortal(sv);
       XSRETURN(1);
  
  
  
  1.33      +1 -1      httpd-apreq-2/src/apreq_cookie.c
  
  Index: apreq_cookie.c
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/src/apreq_cookie.c,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- apreq_cookie.c	3 Aug 2004 22:09:48 -0000	1.32
  +++ apreq_cookie.c	4 Aug 2004 17:40:54 -0000	1.33
  @@ -76,7 +76,7 @@
           if (j == NULL || apreq_jar_nelts(j) == 0) 
               return NETSCAPE;
   
  -        else if (apr_table_do(has_rfc_cookie, NULL, j->cookies) == 1)
  +        else if (apr_table_do(has_rfc_cookie, NULL, j->cookies, NULL) == 1)
               return NETSCAPE;
   
           else
  
  
  
  1.46      +44 -21    httpd-apreq-2/src/apreq_params.c
  
  Index: apreq_params.c
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/src/apreq_params.c,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- apreq_params.c	31 Jul 2004 23:56:40 -0000	1.45
  +++ apreq_params.c	4 Aug 2004 17:40:54 -0000	1.46
  @@ -107,12 +107,19 @@
       const char *val = apr_table_get(req->args, name);
   
       while (val == NULL) {
  -        apr_status_t s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  -        if (req->body == NULL)
  -            return NULL;
  -        val = apr_table_get(req->body, name);
  -        if (s != APR_INCOMPLETE && val == NULL)
  -            return NULL;
  +        apr_status_t s = req->body_status;
  +        switch (s) {
  +        case APR_INCOMPLETE:
  +        case APR_EINIT:
  +            s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  +
  +        default:
  +            if (req->body == NULL)
  +                return NULL;
  +            val = apr_table_get(req->body, name);
  +            if (s != APR_INCOMPLETE && val == NULL)
  +                return NULL;
  +        }
       }
   
       return apreq_value_to_param(apreq_strtoval(val));
  @@ -124,9 +131,12 @@
   {
       apr_status_t s;
   
  -    do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  -    while (s == APR_INCOMPLETE);
  -
  +    switch (req->body_status) {
  +    case APR_INCOMPLETE:
  +    case APR_EINIT:
  +        do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  +        while (s == APR_INCOMPLETE);
  +    }
       return req->body ? apr_table_overlay(pool, req->args, req->body) :
           apr_table_copy(pool, req->args);
   }
  @@ -151,8 +161,12 @@
   
       apr_table_do(param_push, arr, req->args, key, NULL);
   
  -    do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  -    while (s == APR_INCOMPLETE);
  +    switch (req->body_status) {
  +    case APR_INCOMPLETE:
  +    case APR_EINIT:
  +        do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  +        while (s == APR_INCOMPLETE);
  +    }
   
       if (req->body)
           apr_table_do(param_push, arr, req->body, key, NULL);
  @@ -318,9 +332,13 @@
   {
       apr_table_t *t;
       apr_status_t s;
  -    do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  -    while (s == APR_INCOMPLETE);
   
  +    switch (req->body_status) {
  +    case APR_INCOMPLETE:
  +    case APR_EINIT:
  +        do s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  +        while (s == APR_INCOMPLETE);
  +    }
       if (req->body == NULL)
           return NULL;
   
  @@ -348,14 +366,19 @@
   {
       apreq_param_t *param = NULL;
       do {
  -        apr_status_t s = apreq_env_read(req->env, APR_BLOCK_READ,
  -                                        APREQ_READ_AHEAD);
  -        if (req->body == NULL)
  -            return NULL;
  -        apr_table_do(upload_get, &param, req->body, key, NULL);
  -
  -        if (s != APR_INCOMPLETE)
  -            break;
  +        apr_status_t s = req->body_status;
  +        switch (s) {
  +        case APR_INCOMPLETE:
  +        case APR_EINIT:
  +            s = apreq_env_read(req->env, APR_BLOCK_READ, APREQ_READ_AHEAD);
  +
  +        default:
  +            if (req->body == NULL)
  +                return NULL;
  +            apr_table_do(upload_get, &param, req->body, key, NULL);
  +            if (s != APR_INCOMPLETE)
  +                return param;
  +        }
       } while (param == NULL);
   
       return param;