- fixed old header parsing functions: added support for '\r\n'.

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@727 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Raphael Coeffic 19 years ago
parent d659f061ff
commit 782bdebe93

@ -80,7 +80,8 @@ bool findHeader(const string& hdrs,const string& hdr_name,
p = hdrs_c - hdrs.c_str();
string::size_type p_end;
if((p_end = hdrs.find('\n',p)) != string::npos){
if( ((p_end = hdrs.find('\r',p)) != string::npos)
|| ((p_end = hdrs.find('\n',p)) != string::npos) ){
free(hdr);
// return hdrs.substr(p,p_end-p);

@ -691,11 +691,23 @@ string get_header_param(const string& hdr_string,
&& hdr_string.substr(++pos, param_name.length())==param_name
&& hdr_string[pos+param_name.length()] == '=') {
size_t pos2 = pos+param_name.length()+1;
while(pos2<hdr_string.length() && hdr_string[pos2] != ';'
&& hdr_string[pos2] != '\n')
pos2++;
return hdr_string.substr(pos + param_name.length()+1,
pos2 - pos + - param_name.length() -1);
while(pos2<hdr_string.length()){
switch(hdr_string[pos2]) {
case ';':
case '\n':
case '\r':
break;
default:
pos2++;
continue;
}
break;
}
return hdr_string.substr(pos + param_name.length() + 1, // skip 'param='
pos2 - pos - param_name.length() - 1);
}
pos +=param_name.length();
}

Loading…
Cancel
Save