joes 2003/04/11 09:10:03
Modified: src apreq_parsers.c apreq_parsers.h
Log:
Silence -Wall.
Revision Changes Path
1.4 +18 -21 httpd-apreq-2/src/apreq_parsers.c
Index: apreq_parsers.c
===================================================================
RCS file: /home/cvs/httpd-apreq-2/src/apreq_parsers.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- apreq_parsers.c 11 Apr 2003 04:24:01 -0000 1.3
+++ apreq_parsers.c 11 Apr 2003 16:10:03 -0000 1.4
@@ -213,7 +213,7 @@
apreq_request_t *req = (apreq_request_t *)parser->out;
apreq_table_t *t = req->body;
- apr_ssize_t nlen, glen, vlen;
+ apr_ssize_t nlen, vlen;
apr_bucket *e;
/* use parser->v.status to maintain state */
@@ -233,7 +233,7 @@
e = APR_BUCKET_NEXT(e))
{
apr_size_t off = 0, dlen;
- const char *name, *data;
+ const char *data;
apr_status_t s = apr_bucket_read(e, &data, &dlen, APR_BLOCK_READ);
if (APR_BUCKET_IS_EOS(e))
@@ -403,7 +403,7 @@
e = APR_BUCKET_NEXT(e))
{
apr_size_t off = 0, dlen;
- const char *name, *data;
+ const char *data;
apr_status_t s = apr_bucket_read(e, &data, &dlen, APR_BLOCK_READ);
if ( s != APR_SUCCESS )
@@ -508,7 +508,7 @@
default:
/* can parse brigade now */
if (off > 0) {
- apr_split_bucket(e, off - 1);
+ apr_bucket_split(e, off - 1);
e = APR_BUCKET_NEXT(e);
}
@@ -629,7 +629,7 @@
static apr_status_t getval(const char **line, const char *name,
const char **val, apr_size_t *vlen)
{
- const char *v = strstr(*line, name), *rv;
+ const char *v = strstr(*line, name);
int in_quotes = 0;
if (v == NULL)
@@ -671,17 +671,16 @@
return APR_SUCCESS;
}
-static const char crlf[] = "\r\n";
+static const char crlf[] = CRLF;
APREQ_DECLARE(apr_status_t) apreq_parse_multipart(apr_pool_t *pool,
apr_bucket_brigade *bb,
apreq_parser_t *parser)
{
- apr_bucket *e;
apreq_request_t *req = (apreq_request_t *)parser->out;
struct mfd_ctx *ctx = (struct mfd_ctx *) apreq_parser_ctx(parser);
-#define MAX_BLEN 100
+#define MAX_BLEN 80
#define MFD_INIT 0
#define MFD_NEXTLINE 1
@@ -691,23 +690,22 @@
#define MFD_ERROR -1
if (parser->v.size == 0) {
- char off = 0;
const char *bdry, *ct = apreq_env_content_type(req->ctx);
apr_size_t blen;
apr_status_t s;
- ctx->bdry[off++] = '\r';
- ctx->bdry[off++] = '\n';
- ctx->bdry[off++] = '-';
- ctx->bdry[off++] = '-';
+ memcpy(ctx->bdry, CRLF "--", 4);
s = getval(&ct, "boundary", &bdry, &blen);
if (s != APR_SUCCESS)
return s;
- memcpy(ctx->bdry + off, bdry, blen);
- ctx->bdry[off + blen] = 0;
+ if (blen > MAX_BLEN)
+ return APR_ENAMETOOLONG;
+
+ memcpy(ctx->bdry + 4, bdry, blen);
+ ctx->bdry[4 + blen] = 0;
APR_BRIGADE_INSERT_HEAD(bb,
apr_bucket_immortal_create(crlf,2,bb->bucket_alloc));
@@ -715,7 +713,7 @@
if (ctx->bb == NULL)
ctx->bb = apr_brigade_create(pool, bb->bucket_alloc);
- parser->v.status == MFD_INIT;
+ parser->v.status = MFD_INIT;
parser->v.size = sizeof *ctx;
}
@@ -777,7 +775,6 @@
return APR_BADARG;
}
-
s = getval(&cd, "filename", &filename, &flen);
if (s != APR_SUCCESS) {
@@ -840,11 +837,11 @@
v->size = len;
v->data[v->size] = 0;
- parser->v.status == MFD_NEXTLINE;
+ parser->v.status = MFD_NEXTLINE;
goto mfd_parse_brigade;
default:
- parser->v.status == MFD_ERROR;
+ parser->v.status = MFD_ERROR;
return s;
}
@@ -885,11 +882,11 @@
else
APR_BRIGADE_CONCAT(param->bb, ctx->bb);
- parser->v.status == MFD_NEXTLINE;
+ parser->v.status = MFD_NEXTLINE;
goto mfd_parse_brigade;
default:
- parser->v.status == MFD_ERROR;
+ parser->v.status = MFD_ERROR;
return s;
}
1.4 +10 -1 httpd-apreq-2/src/apreq_parsers.h
Index: apreq_parsers.h
===================================================================
RCS file: /home/cvs/httpd-apreq-2/src/apreq_parsers.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- apreq_parsers.h 11 Apr 2003 04:24:01 -0000 1.3
+++ apreq_parsers.h 11 Apr 2003 16:10:03 -0000 1.4
@@ -37,11 +37,20 @@
#define apreq_ctx_to_parser(ptr) apreq_value_to_parser(apreq_strtoval(ptr))
#define apreq_parser_enctype(p) ((p)->v.name)
-#define apreq_parser_data(p) ((p)->v.data)
+#define apreq_parser_ctx(p) ((p)->v.data)
APREQ_DECLARE(apr_status_t) apreq_parse_headers(apr_pool_t *p,
apr_bucket_brigade *bb,
apreq_parser_t *parser);
+
+APREQ_DECLARE(apr_status_t) apreq_parse_urlencoded(apr_pool_t *pool,
+ apr_bucket_brigade *bb,
+ apreq_parser_t *parser);
+
+APREQ_DECLARE(apr_status_t) apreq_parse_multipart(apr_pool_t *pool,
+ apr_bucket_brigade *bb,
+ apreq_parser_t *parser);
+
APREQ_DECLARE(apreq_parser_t *) apreq_make_parser(apr_pool_t *pool,
const char *enctype,