diff --git a/kdecore/config/kconfig.cpp b/kdecore/config/kconfig.cpp index 7ea26a5..b30584b 100644 --- a/kdecore/config/kconfig.cpp +++ b/kdecore/config/kconfig.cpp @@ -160,37 +160,7 @@ QString KConfigPrivate::expandString(const QString& value) int nDollarPos = aValue.indexOf( QLatin1Char('$') ); while( nDollarPos != -1 && nDollarPos+1 < aValue.length()) { // there is at least one $ - if( aValue[nDollarPos+1] == QLatin1Char('(') ) { - int nEndPos = nDollarPos+1; - // the next character is not $ - while ( (nEndPos <= aValue.length()) && (aValue[nEndPos]!=QLatin1Char(')')) ) - nEndPos++; - nEndPos++; - QString cmd = aValue.mid( nDollarPos+2, nEndPos-nDollarPos-3 ); - - QString result; - QByteArray oldpath = qgetenv( "PATH" ); - QByteArray newpath; - if (KGlobal::hasMainComponent()) { - newpath = QFile::encodeName(KGlobal::dirs()->resourceDirs("exe").join(QChar::fromLatin1(KPATH_SEPARATOR))); - if (!newpath.isEmpty() && !oldpath.isEmpty()) - newpath += KPATH_SEPARATOR; - } - newpath += oldpath; - setenv( "PATH", newpath, 1/*overwrite*/ ); -// FIXME: wince does not have pipes -#ifndef _WIN32_WCE - FILE *fs = popen(QFile::encodeName(cmd).data(), "r"); - if (fs) { - QTextStream ts(fs, QIODevice::ReadOnly); - result = ts.readAll().trimmed(); - pclose(fs); - } -#endif - setenv( "PATH", oldpath, 1/*overwrite*/ ); - aValue.replace( nDollarPos, nEndPos-nDollarPos, result ); - nDollarPos += result.length(); - } else if( aValue[nDollarPos+1] != QLatin1Char('$') ) { + if( aValue[nDollarPos+1] != QLatin1Char('$') ) { int nEndPos = nDollarPos+1; // the next character is not $ QString aVarName; diff --git a/kdecore/doc/README.kiosk b/kdecore/doc/README.kiosk index b95002d..e4da590 100644 --- a/kdecore/doc/README.kiosk +++ b/kdecore/doc/README.kiosk @@ -639,19 +639,6 @@ the $USER environment variable. The user will not be able to change this entry. The following syntax is also supported: Name[$ei]=${USER} - -Shell Commands in KDE config files. -=================================== - -Since KDE-3.1 arbitrary entries in configuration files can contain shell -commands. This way the value of a configuration entry can be determined -dynamically at runtime. In order to use this the entry must be marked -with [$e]. - -Example: -Host[$e]=$(hostname) - - KDE Kiosk Application API ========================== diff --git a/kdecore/tests/kconfigtest.cpp b/kdecore/tests/kconfigtest.cpp index 78e6ad1..37ea3c2 100644 --- a/kdecore/tests/kconfigtest.cpp +++ b/kdecore/tests/kconfigtest.cpp @@ -479,12 +479,8 @@ void KConfigTest::testPath() QCOMPARE(group.readPathEntry("withBraces", QString()), QString("file://" + HOMEPATH) ); QVERIFY(group.hasKey("URL")); QCOMPARE(group.readEntry("URL", QString()), QString("file://" + HOMEPATH) ); -#if !defined(Q_OS_WIN32) && !defined(Q_OS_MAC) - // I don't know if this will work on windows - // This test hangs on OS X QVERIFY(group.hasKey("hostname")); - QCOMPARE(group.readEntry("hostname", QString()), QHostInfo::localHostName()); -#endif + QCOMPARE(group.readEntry("hostname", QString()), QString("(hostname)")); // the $ got removed because empty var name QVERIFY(group.hasKey("noeol")); QCOMPARE(group.readEntry("noeol", QString()), QString("foo")); }