tools/configure/environment.cpp
changeset 37 758a864f9613
parent 30 5dc02b23752f
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
   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;