X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FLauncher.cpp;h=30637bee3bd11c5d939e2ce911665723469292d4;hp=487c6322dfd84dbbf12b983537e4aa40ac6eb6de;hb=82cfe5ba5f0ff723b7b024b526ddce8b3e1a92d4;hpb=3df6432f30bd5316c35e66ee2da8a9760a8e15f3 diff --git a/example/diameter/launcher/Launcher.cpp b/example/diameter/launcher/Launcher.cpp index 487c632..30637be 100644 --- a/example/diameter/launcher/Launcher.cpp +++ b/example/diameter/launcher/Launcher.cpp @@ -1820,18 +1820,22 @@ bool Launcher::eventOperation(const std::string &operation, std::string &respons std::string::size_type pos, pos_1, pos_2; pos = regexp.find("end-to-end-id=", 0u); - pos = regexp.find("\"", pos); - pos_1 = pos; - pos = regexp.find("\"", pos+1); - pos_2 = pos; - regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + if (pos != std::string::npos) { + pos = regexp.find("\"", pos); + pos_1 = pos; + pos = regexp.find("\"", pos+1); + pos_2 = pos; + regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + } pos = regexp.find("hop-by-hop-id=", 0u); - pos = regexp.find("\"", pos); - pos_1 = pos; - pos = regexp.find("\"", pos+1); - pos_2 = pos; - regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + if (pos != std::string::npos) { + pos = regexp.find("\"", pos); + pos_1 = pos; + pos = regexp.find("\"", pos+1); + pos_2 = pos; + regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + } // For this representation: //pos = regexp.find("Origin-State-Id", 0u); @@ -1843,13 +1847,15 @@ bool Launcher::eventOperation(const std::string &operation, std::string &respons //regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); // But we have this one: pos = regexp.find("Origin-State-Id", 0u); - pos = regexp.rfind("\"", pos); - pos = regexp.rfind("\"", pos-1); - pos = regexp.rfind("\"", pos-1); - pos_1 = pos; - pos = regexp.find("\"", pos+1); - pos_2 = pos; - regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + if (pos != std::string::npos) { + pos = regexp.rfind("\"", pos); + pos = regexp.rfind("\"", pos-1); + pos = regexp.rfind("\"", pos-1); + pos_1 = pos; + pos = regexp.find("\"", pos+1); + pos_2 = pos; + regexp.replace(pos_1 + 1, pos_2 - pos_1 - 1, "[0-9]+"); + } //regexp.insert(0, "^"); //regexp += "$";