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); +                    }                  }              }          }  | 
