diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-10 14:25:40 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-10 14:25:40 +0100 |
commit | c0ee9dabb895e9079a6367a823187f9e687c3e4a (patch) | |
tree | 0c06abb4063c099918e641be9106fb16ee2665a6 /lib/Utils/parse_release.cpp | |
parent | 8ddd4fb2e18e4ae996907a930aaedb5ceea1b78b (diff) | |
download | abrt-c0ee9dabb895e9079a6367a823187f9e687c3e4a.tar.gz abrt-c0ee9dabb895e9079a6367a823187f9e687c3e4a.tar.xz abrt-c0ee9dabb895e9079a6367a823187f9e687c3e4a.zip |
remove getSettings from most plugins (inherited one is ok)
Also move parse_release() to abrtlib, it's shared among
Bugzilla and Catcut.
Tested Bugzilla and Catcut, both work.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'lib/Utils/parse_release.cpp')
-rw-r--r-- | lib/Utils/parse_release.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/Utils/parse_release.cpp b/lib/Utils/parse_release.cpp new file mode 100644 index 00000000..33d3edb1 --- /dev/null +++ b/lib/Utils/parse_release.cpp @@ -0,0 +1,38 @@ +#include "abrtlib.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +using namespace std; + +void parse_release(const char *pRelease, string& pProduct, string& pVersion) +{ + if (strstr(pRelease, "Rawhide")) + { + pProduct = "Fedora"; + pVersion = "rawhide"; + return; + } + if (strstr(pRelease, "Fedora")) + { + pProduct = "Fedora"; + } + else if (strstr(pRelease, "Red Hat Enterprise Linux")) + { + pProduct = "Red Hat Enterprise Linux "; + } + + const char *release = strstr(pRelease, "release"); + const char *space = release ? strchr(release, ' ') : NULL; + + if (space++) while (*space != '\0' && *space != ' ') + { + /* Eat string like "5.2" */ + pVersion += *space; + if (pProduct == "Red Hat Enterprise Linux ") + { + pProduct += *space; + } + space++; + } +} |