diff options
author | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-11-12 13:18:27 +0100 |
---|---|---|
committer | Nikola Pajkovsky <npajkovs@redhat.com> | 2009-11-12 13:18:27 +0100 |
commit | 2707930a0c1a2f4642a0f9371b6674d0b23d1b67 (patch) | |
tree | df10c6c02450c1973a7da74d43b2983fc54f74fa /lib/Plugins/SOSreport.cpp | |
parent | 5b3c6da6b19c69611179a98dabd17721db670668 (diff) | |
download | abrt-2707930a0c1a2f4642a0f9371b6674d0b23d1b67.tar.gz abrt-2707930a0c1a2f4642a0f9371b6674d0b23d1b67.tar.xz abrt-2707930a0c1a2f4642a0f9371b6674d0b23d1b67.zip |
Factored ParseArg
Diffstat (limited to 'lib/Plugins/SOSreport.cpp')
-rw-r--r-- | lib/Plugins/SOSreport.cpp | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/lib/Plugins/SOSreport.cpp b/lib/Plugins/SOSreport.cpp index fedc51ab..b949339f 100644 --- a/lib/Plugins/SOSreport.cpp +++ b/lib/Plugins/SOSreport.cpp @@ -65,36 +65,6 @@ static std::string ParseFilename(const std::string& pOutput) return pOutput.substr(filename_start, filename_end - filename_start + 1); } -/* TODO: do not duplicate: RunApp.cpp has same function too */ -static void ParseArgs(const char *psArgs, vector_string_t& pArgs) -{ - unsigned ii; - bool is_quote = false; - std::string item; - - for (ii = 0; psArgs[ii]; ii++) - { - if (psArgs[ii] == '"') - { - is_quote = !is_quote; - } - else if (psArgs[ii] == ',' && !is_quote) - { - pArgs.push_back(item); - item.clear(); - } - else - { - item += psArgs[ii]; - } - } - - if (item.size() != 0) - { - pArgs.push_back(item); - } -} - void CActionSOSreport::Run(const char *pActionDir, const char *pArgs) { update_client(_("Executing SOSreport plugin...")); @@ -108,7 +78,7 @@ void CActionSOSreport::Run(const char *pActionDir, const char *pArgs) std::string command; vector_string_t args; - ParseArgs(pArgs, args); + parse_args(pArgs, args, '"'); if (args.size() == 0 || args[0] == "") { |