From eb8b23218f73f7ac92ea0fa3bcef71d40c355bf0 Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Thu, 14 Jun 2012 11:55:15 +0200 Subject: Fixed quoting. --- src/messageparser.cc | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) (limited to 'src/messageparser.cc') diff --git a/src/messageparser.cc b/src/messageparser.cc index ea5e615..5714c88 100644 --- a/src/messageparser.cc +++ b/src/messageparser.cc @@ -49,37 +49,35 @@ inline static void parse_into_msg_tokens(std::string& data, if(prev_ch != '\\') inside_quote = !inside_quote; else { -// printf("Appending %c\n", ch); token += ch; } break; case ' ': if(inside_quote) { -// printf("Appending %c\n", ch); + //printf("Appending %c\n", ch); token += ch; - break; } - if(token.empty()) continue; // skip multiple white spaces and pre white space + else { + if(token.empty()) continue; // skip multiple white spaces and pre white space // printf("Adding token %s\n", token.c_str()); - tokenVector.push_back(token); - token.clear(); + tokenVector.push_back(token); + token.clear(); + } break; case ';': if(inside_quote) { -// printf("Appending %c\n", ch); token += ch; - break; - } -// printf("Adding msg...\n"); - if(!token.empty()) { - tokenVector.push_back(token); } - msgTokensList.push_back(tokenVector); - tokenVector.clear(); - token.clear(); + else { + if(!token.empty()) { + tokenVector.push_back(token); + } + msgTokensList.push_back(tokenVector); + tokenVector.clear(); + token.clear(); + } break; default: -// printf("Appending %c\n", ch); token += ch; break; } @@ -123,7 +121,7 @@ inline static void create_msg_list(MsgTokensList& msgTokensList, else if(t[origin] == "create") m.cmd = cmd::create; else if(t[origin] == "remove") m.cmd = cmd::remove; else if(t[origin] == "move") m.cmd = cmd::move; - else if(t[origin] == "update") m.cmd = cmd::update; + else if(t[origin] == "update") m.cmd = cmd::update; else m.cmd = cmd::error; // printf("Number of tokens %d\n", t.size()); @@ -131,7 +129,7 @@ inline static void create_msg_list(MsgTokensList& msgTokensList, switch(m.cmd) { case cmd::observe: { if(t.size() != origin+1+1) { - printf("W1: rong number of parameters\n"); + printf("Wrong number of parameters\n"); continue; } m.observe.id = atoi(t[origin+1].c_str()); -- cgit v1.2.3