diff --git a/src/main.cpp b/src/main.cpp index aaf01964d8f5886057a95ef8079829568c940407..459b3ee0ac4b24c379b6f4418a62fe2900dad6ea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) { // } if(serverReceive.getType() == 3){ if(serverReceive.checkParity()){ // Se a paridade estiver errada - resposta.setData((unsigned char*)"0",0,0); // Manda um Nack + resposta.setData((unsigned char*)"3",0,0); // Manda um Nack send(soquete,resposta.objToString(),68, 0); } else { mainMessage.receiveCD(serverReceive.getData()); @@ -83,6 +83,15 @@ int main(int argc, char *argv[]) { currentPath = getcwd(buff, (size_t)size); cout << currentPath << "(S) " << endl; } + }else if(serverReceive.getType() == 4){ + if(serverReceive.checkParity()){ // Se a paridade estiver errada + resposta.setData((unsigned char*)"4",0,0); // Manda um Nack + send(soquete,resposta.objToString(),68, 0); + } else { + if(mainMessage.receiveLS(resposta.getData(), currentPath)){ + cout << "ERRO: ls remoto."; + } + } } } } diff --git a/src/messages.cpp b/src/messages.cpp index 7c36266bf5d5d02ed6db8c7e92bff25017976fc6..68eae3435f7d01db7a901dd5e2f7af69d93459d1 100644 --- a/src/messages.cpp +++ b/src/messages.cpp @@ -578,6 +578,7 @@ int Message::receiveLS(unsigned char* options, char* currentPath){ lsFile.open(fileName.c_str(), ios::in); lsFile.seekg (0); // Leitura do arquivo. + show += path + "\n"; while(getline(lsFile, temp)) { show += temp + "\n"; }