fixed -r and -d

This commit is contained in:
elvis
2022-04-29 15:47:27 +02:00
parent b0b9310acc
commit 6a7b018f25
3 changed files with 11 additions and 9 deletions

View File

@ -397,7 +397,7 @@ int readFile(const char* pathname, void** buf, size_t* size) {
fflush(openedFiles->out);
}
if(storeFilesInDirectory(openedFiles->rDir, 1, res->rf) == -1) {
perror("storeFilesindirectory");
perror("storeFilesInDirectory");
freeResponse(res);
free(res);
free(cmd);
@ -1442,7 +1442,7 @@ _nofile:
}
int storeFilesInDirectory(const char *dirname, int n, recivedFile_t *rf) {
if(!dirname || strcmp(dirname, "") || !rf || n<0) {
if(!dirname || strcmp(dirname, "")==0 || !rf || n<0) {
errno = EINVAL;
return -1;
}

View File

@ -37,8 +37,8 @@ fileT* createFileT(char *f, int O_LOCK, int client, int open){
strncpy(file->filepath, f, strnlen(f, MAXNAMELEN));
// in seguito semplicemente facciamo realloc
if ((file->data = malloc(1)) == NULL) {
perror("Malloc content");
if ((file->data = calloc(1, sizeof(char))) == NULL) {
perror("Calloc content");
return NULL;
}
return file;
@ -51,7 +51,9 @@ int writeFileT(fileT *f, void *data, size_t size) {
return -1;
}
size = (size == 0)?1:size;
if(size == 0) {
return 0;
}
if ((f->data = realloc(f->data, f->valid + size)) == NULL) {
perror("Realloc content");