Phase 1+2: bug fixes and dead code cleanup

Phase 1 — Bugs:
- receive_data: fix unsigned long long vs size_t mismatch
- chunk_deserialize: add NULL check in multiprocessing.c and server.c
- file_content_to_buffer: add missing fclose on error path
- send_files_multithreaded: propagate sender thread result
- server: add SIGPIPE handler
- to_disk: check fwrite return value
- scanner: use S_ISDIR instead of !S_ISREG
- scanner: free cur_path before early return

Phase 2 — Cleanup:
- Remove unused chunk_decompress function
- Remove unused array_list_clear function
- Remove unused num_connections config field
- Remove duplicate FILE_METADATA_WIRE_SIZE macro
- Update tests for removed APIs
This commit is contained in:
2026-07-16 12:08:09 +02:00
parent 81800fa661
commit 8f4ea62ae7
17 changed files with 43 additions and 69 deletions
+7 -2
View File
@@ -113,7 +113,11 @@ void to_disk(const char *path, const void *data, unsigned long long data_size) {
perror("Could not open File");
exit(EXIT_FAILURE);
}
fwrite(data, 1, data_size, file_pointer);
if (fwrite(data, 1, data_size, file_pointer) != data_size) {
perror("Failed to write all data to disk");
fclose(file_pointer);
exit(EXIT_FAILURE);
}
fclose(file_pointer);
free(dir_to_free);
}
@@ -171,7 +175,8 @@ size_t file_content_to_buffer(File *file) {
size_t bytes_read =
fread(file->data->data, 1, file->data->size, file_pointer);
if (bytes_read != (size_t)file->data->size) {
perror("Read to many or to less bytes from File!");
fclose(file_pointer);
perror("Read unexpected number of bytes from File!");
return 0;
}
fclose(file_pointer);