1
0

Introducing StringUtils - the place to be if you are a generic string routine :) No more sprintf()!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@209 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
madmaxoft@gmail.com
2012-02-01 09:12:54 +00:00
parent 3364ecc284
commit bb49f0e021
19 changed files with 519 additions and 241 deletions

View File

@@ -49,25 +49,6 @@
webserver::request_func webserver::request_func_=0;
static std::vector< std::string > StringSplit(std::string str, std::string delim)
{
std::vector< std::string > results;
size_t cutAt;
while( (cutAt = str.find_first_of(delim)) != str.npos )
{
if(cutAt > 0)
{
results.push_back(str.substr(0,cutAt));
}
str = str.substr(cutAt+1);
}
if(str.length() > 0)
{
results.push_back(str);
}
return results;
}
static std::string EatLine( std::string& a_String )
{
std::string RetVal = "";
@@ -140,8 +121,7 @@ void ParseMultipartFormData( webserver::http_request& req, Socket* s)
static const std::string multipart_form_data = "multipart/form-data";
if(req.content_type_.substr(0, multipart_form_data.size()) == multipart_form_data) // Difficult data... :(
{
typedef std::vector< std::string > StringVector;
StringVector ContentTypeData = StringSplit( req.content_type_, "; " );
AStringVector ContentTypeData = StringSplit( req.content_type_, "; " );
std::string boundary;
// Find boundary
@@ -208,7 +188,7 @@ void ParseMultipartFormData( webserver::http_request& req, Socket* s)
static const std::string disp_filename = "filename=";
// Parse the disposition
StringVector DispositionData = StringSplit( f_disposition, "; " );
AStringVector DispositionData = StringSplit( f_disposition, "; " );
for( unsigned int i = 0; i < DispositionData.size(); ++i )
{
if( DispositionData[i].substr(0, disp_name.size()) == disp_name )