bool startProcess(QString command) { QStringList args; QString program = expandCommand(command, &args); if (program.isEmpty()) return false; return QProcess::startDetached(program, args); }
bool startProcess(QString command) { QStringList args; QString program = expandCommand(command, &args); if (program.isEmpty()) return false; if (QProcess::startDetached(program, args)) { return true; } else { //fallback for executable script with no #! //trying as in system(2) args.prepend(program); args.prepend(QStringLiteral("-c")); return QProcess::startDetached(QStringLiteral("/bin/sh"), args); } }
int MGetFile(struct COMMAND* cmd,struct FTS* fts) { const int BUF_SIZE=1024; FILE* df=NULL; int code; puts("before expanding"); expandCommand(cmd); puts ("after expanding"); sendCommand (cmd,fts->sockfd); while(1) { code=receiveResponseCode(fts->sockfd); if(code == -1) break; if(fts->mode==FTS_MODE_ASCII) df=fopen(cmd->args[code],"r"); else if(fts->mode == FTS_MODE_BINARY) df=fopen(cmd->args[code],"rb"); if(df==NULL) { char buf[BUF_SIZE]; snprintf(buf,BUF_SIZE,"%s : Coulnd't open file for writing\n",cmd->args[code]); sendResponseCode(fts->sockfd,-1); write(fts->sockfd,buf,strlen(buf)); writeEOFToSocket(fts->sockfd); continue; } sendResponseCode(fts->sockfd,0); if(fts->mode==FTS_MODE_ASCII) { sendFileInAsciiMode(fts->sockfd,df); } else if(fts->mode==FTS_MODE_BINARY) { sendFileInBinaryMode(fts->sockfd,df); } fclose(df); } return (CHANDLER_SUCCESSFUL); }