mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
added inlined string concatenation to form_header_field() for speed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92137 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -749,9 +749,23 @@ static int form_header_field(header_struct *h,
|
||||
{
|
||||
char *headfield;
|
||||
apr_size_t len;
|
||||
apr_size_t name_len;
|
||||
apr_size_t val_len;
|
||||
char *next;
|
||||
|
||||
headfield = apr_pstrcat(h->pool, fieldname, ": ", fieldval, CRLF, NULL);
|
||||
len = strlen(headfield);
|
||||
name_len = strlen(fieldname);
|
||||
val_len = strlen(fieldval);
|
||||
len = name_len + val_len + 4; /* 4 for ": " plus CRLF */
|
||||
headfield = (char *)apr_palloc(h->pool, len + 1);
|
||||
memcpy(headfield, fieldname, name_len);
|
||||
next = headfield + name_len;
|
||||
*next++ = ':';
|
||||
*next++ = ' ';
|
||||
memcpy(next, fieldval, val_len);
|
||||
next += val_len;
|
||||
*next++ = CR;
|
||||
*next++ = LF;
|
||||
*next = 0;
|
||||
ap_xlate_proto_to_ascii(headfield, len);
|
||||
apr_brigade_write(h->bb, NULL, NULL, headfield, len);
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user