equal
deleted
inserted
replaced
279 envlist.resize(envlist.size() + tmpSize); |
279 envlist.resize(envlist.size() + tmpSize); |
280 memcpy(envlist.data() + pos, tmp.utf16(), tmpSize); |
280 memcpy(envlist.data() + pos, tmp.utf16(), tmpSize); |
281 pos += tmpSize; |
281 pos += tmpSize; |
282 } |
282 } |
283 // add the user environment |
283 // add the user environment |
284 for (QStringList::ConstIterator it = environment.begin(); it != environment.end(); it++ ) { |
284 foreach (const QString &tmp, environment) { |
285 QString tmp = *it; |
|
286 uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1); |
285 uint tmpSize = sizeof(wchar_t) * (tmp.length() + 1); |
287 envlist.resize(envlist.size() + tmpSize); |
286 envlist.resize(envlist.size() + tmpSize); |
288 memcpy(envlist.data() + pos, tmp.utf16(), tmpSize); |
287 memcpy(envlist.data() + pos, tmp.utf16(), tmpSize); |
289 pos += tmpSize; |
288 pos += tmpSize; |
290 } |
289 } |
384 |
383 |
385 if (exitCode == DWORD(-1)) { |
384 if (exitCode == DWORD(-1)) { |
386 switch(GetLastError()) { |
385 switch(GetLastError()) { |
387 case E2BIG: |
386 case E2BIG: |
388 cerr << "execute: Argument list exceeds 1024 bytes" << endl; |
387 cerr << "execute: Argument list exceeds 1024 bytes" << endl; |
389 foreach(QString arg, arguments) |
388 foreach (const QString &arg, arguments) |
390 cerr << " (" << arg.toLocal8Bit().constData() << ")" << endl; |
389 cerr << " (" << arg.toLocal8Bit().constData() << ")" << endl; |
391 break; |
390 break; |
392 case ENOENT: |
391 case ENOENT: |
393 cerr << "execute: File or path is not found (" << program.toLocal8Bit().constData() << ")" << endl; |
392 cerr << "execute: File or path is not found (" << program.toLocal8Bit().constData() << ")" << endl; |
394 break; |
393 break; |
398 case ENOMEM: |
397 case ENOMEM: |
399 cerr << "execute: Not enough memory is available to execute new process." << endl; |
398 cerr << "execute: Not enough memory is available to execute new process." << endl; |
400 break; |
399 break; |
401 default: |
400 default: |
402 cerr << "execute: Unknown error" << endl; |
401 cerr << "execute: Unknown error" << endl; |
403 foreach(QString arg, arguments) |
402 foreach (const QString &arg, arguments) |
404 cerr << " (" << arg.toLocal8Bit().constData() << ")" << endl; |
403 cerr << " (" << arg.toLocal8Bit().constData() << ")" << endl; |
405 break; |
404 break; |
406 } |
405 } |
407 } |
406 } |
408 return exitCode; |
407 return exitCode; |