#29 - compression_level now used in data_compress() #30 - chunk_size no longer truncated to 32-bit #31 - chmod/chown failures now logged #35 - strtok -> strtok_r for thread safety #38 - open_next_directory returns -1 on opendir failure #41 - file_send_sendfile uses compression_level param #42 - dirname() uses copy to avoid modifying input #43 - delete_extras_walk checks manifest before rmdir #44 - server_host/port moved into Config struct #45 - SSH parse_remote_dest uses dynamic allocation #46 - send_chunk refactored, reduced nesting/duplication
- Reformat all C/H files to match .clang-format (LLVM style) - Fix 26 cppcheck const-correctness warnings (constParameterPointer, constVariablePointer, constVariable) - Update function declarations in headers to match const parameters
- Remove dead socket.c/socket.h (accumulated duplicate symbols) - Extract compression.h/c (data_compress/decompress from data.c) - Extract io.h/c (low-level I/O from protocol.c) - Extract metadata.h/c (unified metadata wire format from file.c, chunk.c, utils.c) - Split client.c into client_cli.c (CLI parsing) + client_send.c (send logic) - Move receiver pipeline threads from server.c to multiprocessing.c - Move to_disk/file_restore_metadata from utils.c to file.c/metadata.c - Fix const qualifiers on to_disk and str_dup signatures - Suppress chown unused-result warning