MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / getLinuxVersionString

Function getLinuxVersionString

CrashReporter/CallbacksManager.cpp:702–743  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

700
701#ifdef Q_OS_LINUX
702static QString
703getLinuxVersionString()
704{
705 QFile os_release( QString::fromUtf8("/etc/os-release") );
706 QFile redhat_release( QString::fromUtf8("/etc/redhat-release") );
707 QFile debian_release( QString::fromUtf8("/etc/debian_version") );
708 QString linux_release;
709
710 if ( os_release.exists() ) {
711 if ( os_release.open(QIODevice::ReadOnly | QIODevice::Text) ) {
712 QString os_release_data = QString::fromUtf8( os_release.readAll() );
713 if ( !os_release_data.isEmpty() ) {
714 QStringList os_release_split = os_release_data.split(QString::fromUtf8("\n"), QString::SkipEmptyParts);
715 for (int i = 0; i < os_release_split.size(); ++i) {
716 if ( os_release_split.at(i).startsWith( QString::fromUtf8("PRETTY_NAME=") ) ) {
717 linux_release = os_release_split.at(i);
718 linux_release.replace( QString::fromUtf8("PRETTY_NAME="), QString::fromUtf8("") ).replace( QString::fromUtf8("\""), QString::fromUtf8("") );
719 }
720 }
721 }
722 os_release.close();
723 }
724 } else if ( redhat_release.exists() ) {
725 if ( redhat_release.open(QIODevice::ReadOnly | QIODevice::Text) ) {
726 QString redhat_release_data = QString::fromUtf8( redhat_release.readAll() );
727 if ( !redhat_release_data.isEmpty() ) {
728 linux_release = redhat_release_data;
729 }
730 redhat_release.close();
731 }
732 } else if ( debian_release.exists() ) {
733 if ( debian_release.open(QIODevice::ReadOnly | QIODevice::Text) ) {
734 QString debian_release_data = QString::fromUtf8( debian_release.readAll() );
735 if ( !debian_release_data.isEmpty() ) {
736 linux_release = QString::fromUtf8("Debian ") + debian_release_data;
737 }
738 debian_release.close();
739 }
740 }
741
742 return linux_release;
743}
744
745#endif
746

Callers 1

Calls 5

atMethod · 0.80
openMethod · 0.45
isEmptyMethod · 0.45
sizeMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected