unsigned Message::parse_headers(const string &d)
{
- unsigned start = 0;
+ string::size_type start = 0;
while(1)
{
string::size_type lf = d.find('\n', start);
if(lf==start || (d[start]=='\r' && lf==start+1))
return lf+1;
- unsigned colon = d.find(':', start);
+ string::size_type colon = d.find(':', start);
if(colon>lf)
throw invalid_argument("Message::parse_headers");
bool upper = true;
for(string::iterator i=result.begin(); i!=result.end(); ++i)
{
- if(upper)
+ if(*i=='-')
+ upper = true;
+ else if(upper)
{
*i = toupper(*i);
upper = false;
}
- else if(*i=='-')
- upper = true;
else
*i = tolower(*i);
}