diff options
author | rbuj <[email protected]> | 2019-03-17 18:48:13 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2019-03-17 20:29:15 +0100 |
commit | 722987be3bc30d07d64b97361749ab03a0cc50fb (patch) | |
tree | ba2f55ec4292f79b2fddac46189a9b2470bf5f7a | |
parent | 72f34fba6e119843e224f6f42e3d6db26c564ee4 (diff) | |
download | mate-system-monitor-722987be3bc30d07d64b97361749ab03a0cc50fb.tar.bz2 mate-system-monitor-722987be3bc30d07d64b97361749ab03a0cc50fb.tar.xz |
Fix openSUSE Tumbleweed rolling release info
$ cat os-release
NAME="openSUSE Tumbleweed"
ID="opensuse-tumbleweed"
ID_LIKE="opensuse suse"
VERSION_ID="20190314"
PRETTY_NAME="openSUSE Tumbleweed"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:tumbleweed:20190314"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
-rw-r--r-- | src/sysinfo.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/sysinfo.cpp b/src/sysinfo.cpp index bc2f37a..273f2f9 100644 --- a/src/sysinfo.cpp +++ b/src/sysinfo.cpp @@ -532,16 +532,24 @@ namespace { if (input) { while (!input.eof()) { string s; - int len; + int start; std::getline(input, s); if (s.find("NAME=") == 0) { - len = strlen("NAME="); - this->distro_name = s.substr(len); + start = strlen("NAME="); + if ((s.at(start) == '\"') && (s.at(s.size() - 1) == '\"')) { + this->distro_name = s.substr(start + 1, s.size() - start - 2); + } else { + this->distro_name = s.substr(start); + } } else if (s.find("VERSION=") == 0) { - len = strlen("VERSION="); + start = strlen("VERSION="); // also strip the surrounding quotes - this->distro_release = s.substr(len + 1, s.size() - len - 2); - } + this->distro_release = s.substr(start + 1, s.size() - start - 2); + } else if (s.find("# VERSION=") == 0) { + start = strlen("# VERSION="); + // also strip the surrounding quotes + this->distro_release = s.substr(start + 1, s.size() - start - 2); + } } } } |