pike.git
/
src
/
modules
/
_Roxen
/
roxen.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/modules/_Roxen/roxen.c:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: roxen.c,v 1.
43
2005
/
11
/
29
00
:
43
:
52
nilsson Exp $
+
|| $Id: roxen.c,v 1.
44
2006
/
01
/
20
15
:
16
:
39
nilsson Exp $
*/ #define NO_PIKE_SHORTHAND #include "global.h" #include "config.h" #include "machine.h"
pike.git/src/modules/_Roxen/roxen.c:139:
hp->pnt += str_len; hp->pnt[0] = 0; if( slash_n != 2 ) { /* one newline, but less than 2 space, * --> HTTP/0.9 or broken request */ if( (spc < 2) && tot_slash_n ) {
-
push_
constant_text
(
""
);
+
ref_
push_
string(empty
_
pike_string
);
/* This includes (all eventual) \r\n etc. */ push_text((char *)hp->headers); f_aggregate_mapping( 0 ); f_aggregate( 3 ); return; } push_int( 0 ); return; }
pike.git/src/modules/_Roxen/roxen.c:208:
/* Check for continuation line. */ } while ((os < l) && ((in[os] == ' ') || (in[os] == '\t'))); if (val_cnt > 1) { /* Join partial header values. */ f_add(val_cnt); } if((tmp = low_mapping_lookup(headers, Pike_sp-2))) {
-
f_aggregate( 1 );
+
if( tmp->type == PIKE_T_ARRAY ) {
-
+
f_aggregate( 1 );
ref_push_array(tmp->u.array); map_delete(headers, Pike_sp-3); f_add(2); } else { ref_push_string(tmp->u.string);
-
f
_
aggregate
(
1
);
+
stack
_
swap
();
map_delete(headers, Pike_sp-3);
-
f_
add
(2);
+
f_
aggregate
(2);
} } mapping_insert(headers, Pike_sp-2, Pike_sp-1); pop_n_elems(2); } } push_mapping( headers ); f_aggregate( 3 ); /* data, firstline, headers */ }