fix fromCompare

This commit is contained in:
TheSola10 2025-04-06 00:23:52 +02:00
parent 21d43920da
commit 7789919a72
Signed by: thesola10
GPG Key ID: 89245619BEBB95BA
3 changed files with 9 additions and 11 deletions

View File

@ -86,12 +86,11 @@ _impl_umdiff_deltaJobSource(rs_job_t *job, rs_buffers_t *buf, void *fd_)
} }
umdiff_File * int
umdiff_File_fromCompare(int source_fd, int target_fd) umdiff_File_fromCompare(umdiff_File *file, int source_fd, int target_fd)
{ {
_impl_umdiff_OpaqueFd source_fd_ = { .fd = source_fd }; _impl_umdiff_OpaqueFd source_fd_ = { .fd = source_fd };
_impl_umdiff_OpaqueFd target_fd_ = { .fd = target_fd }; _impl_umdiff_OpaqueFd target_fd_ = { .fd = target_fd };
umdiff_File *resultFile;
rs_job_t *sigJob, *deltaJob; rs_job_t *sigJob, *deltaJob;
rs_buffers_t buffers = { rs_buffers_t buffers = {
@ -115,9 +114,9 @@ umdiff_File_fromCompare(int source_fd, int target_fd)
_impl_umdiff_sigJobSink, workSignatures); _impl_umdiff_sigJobSink, workSignatures);
rs_job_drive(deltaJob, &buffers, rs_job_drive(deltaJob, &buffers,
_impl_umdiff_deltaJobSource, target_fd_.opaque, _impl_umdiff_deltaJobSource, target_fd_.opaque,
_impl_umdiff_deltaJobSink, resultFile); _impl_umdiff_deltaJobSink, file);
return resultFile; return 0;
} }
// vim: ft=c.doxygen // vim: ft=c.doxygen

View File

@ -21,8 +21,8 @@
* This is the optimum approach, as it includes our optimum parameters, * This is the optimum approach, as it includes our optimum parameters,
* ensuring computed blocks line up with ISO9660 sectors. * ensuring computed blocks line up with ISO9660 sectors.
*/ */
umdiff_File * int
umdiff_File_fromCompare(int source_fd, int target_fd); umdiff_File_fromCompare(umdiff_File *file, int source_fd, int target_fd);
#endif //__COMPARE_H #endif //__COMPARE_H

View File

@ -19,21 +19,20 @@ int
umdiff_delta(char *source, char *target, char *output) umdiff_delta(char *source, char *target, char *output)
{ {
int source_fd, target_fd, output_fd; int source_fd, target_fd, output_fd;
umdiff_File *result = malloc(sizeof(umdiff_File)); umdiff_File result;
source_fd = open(source, O_RDONLY); source_fd = open(source, O_RDONLY);
target_fd = open(target, O_RDONLY); target_fd = open(target, O_RDONLY);
result = umdiff_File_fromCompare(source_fd, target_fd); umdiff_File_fromCompare(&result, source_fd, target_fd);
output_fd = open(output, O_WRONLY|O_CREAT|O_TRUNC, 0644); output_fd = open(output, O_WRONLY|O_CREAT|O_TRUNC, 0644);
return umdiff_File_write(result, output_fd); return umdiff_File_write(&result, output_fd);
} }
int int
umdiff_patch(char *source, char *umdiff, char *output) umdiff_patch(char *source, char *umdiff, char *output)
{ {
return 1; return 1;
} }