Some improvements to init_process() function.
This commit is contained in:
parent
1f7d2131e8
commit
37522d4c15
@ -76,7 +76,7 @@ namespace MUtils
|
|||||||
MUTILS_API const QString& temp_folder(void);
|
MUTILS_API const QString& temp_folder(void);
|
||||||
|
|
||||||
//Process Utils
|
//Process Utils
|
||||||
MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QString &extraPath = QString());
|
MUTILS_API void init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir = true, const QStringList *const extraPaths = NULL);
|
||||||
|
|
||||||
//Random
|
//Random
|
||||||
MUTILS_API void seed_rand(void);
|
MUTILS_API void seed_rand(void);
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QTextCodec>
|
#include <QTextCodec>
|
||||||
#include <QPair>
|
#include <QPair>
|
||||||
|
#include <QListIterator>
|
||||||
|
|
||||||
//CRT
|
//CRT
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
@ -391,7 +392,7 @@ static void prependToPath(QProcessEnvironment &env, const QString &value)
|
|||||||
env.insert(PATH, path.isEmpty() ? value : QString("%1;%2").arg(value, path));
|
env.insert(PATH, path.isEmpty() ? value : QString("%1;%2").arg(value, path));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MUtils::init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir, const QString &extraPath)
|
void MUtils::init_process(QProcess &process, const QString &wokringDir, const bool bReplaceTempDir, const QStringList *const extraPaths)
|
||||||
{
|
{
|
||||||
//Environment variable names
|
//Environment variable names
|
||||||
static const char *const s_envvar_names_temp[] =
|
static const char *const s_envvar_names_temp[] =
|
||||||
@ -427,9 +428,14 @@ void MUtils::init_process(QProcess &process, const QString &wokringDir, const bo
|
|||||||
|
|
||||||
//Setup PATH variable
|
//Setup PATH variable
|
||||||
prependToPath(env, tempDir);
|
prependToPath(env, tempDir);
|
||||||
if (!extraPath.isEmpty())
|
if (extraPaths && (!extraPaths->isEmpty()))
|
||||||
{
|
{
|
||||||
prependToPath(env, QDir::toNativeSeparators(extraPath));
|
QListIterator<QString> iter(*extraPaths);
|
||||||
|
iter.toBack();
|
||||||
|
while (iter.hasPrevious())
|
||||||
|
{
|
||||||
|
prependToPath(env, QDir::toNativeSeparators(iter.previous()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Setup QPorcess object
|
//Setup QPorcess object
|
||||||
|
Loading…
Reference in New Issue
Block a user