diff --git a/config.ini b/config.ini index 979be50..5db8ea7 100644 --- a/config.ini +++ b/config.ini @@ -1,12 +1,12 @@ [threadpool] -quantity = 10 -pending = 20 +quantity = 1 +pending = 10 [files] -MaxFiles = 2 -MaxSize = 10000000 +MaxFiles = 10000 +MaxSize = 128000 [log] diff --git a/lib/api/api.c b/lib/api/api.c index 44bf0d9..e7d0bc5 100644 --- a/lib/api/api.c +++ b/lib/api/api.c @@ -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; } diff --git a/lib/threadpool/fileQueue.c b/lib/threadpool/fileQueue.c index a0aa6cf..bba91db 100644 --- a/lib/threadpool/fileQueue.c +++ b/lib/threadpool/fileQueue.c @@ -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");