Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
fdupes
fdupes-speedup.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fdupes-speedup.patch of Package fdupes
Index: fdupes.c =================================================================== --- fdupes.c.orig 2010-02-15 15:36:58.000000000 +0100 +++ fdupes.c 2010-02-15 15:38:11.091108207 +0100 @@ -259,7 +259,7 @@ } while (fsize > 0) { - toread = (fsize % CHUNK_SIZE) ? (fsize % CHUNK_SIZE) : CHUNK_SIZE; + toread = (fsize >= CHUNK_SIZE) ? CHUNK_SIZE : fsize; if (fread(chunk, toread, 1, file) != 1) { errormsg("error reading from file %s\n", filename); return NULL; @@ -561,22 +561,23 @@ int confirmmatch(FILE *file1, FILE *file2) { - unsigned char c1; - unsigned char c2; + unsigned char c1[8192]; + unsigned char c2[8192]; size_t r1; size_t r2; + int res; fseek(file1, 0, SEEK_SET); fseek(file2, 0, SEEK_SET); do { - r1 = fread(&c1, sizeof(c1), 1, file1); - r2 = fread(&c2, sizeof(c2), 1, file2); + r1 = fread(c1, sizeof(unsigned char), sizeof(c1), file1); + r2 = fread(c2, sizeof(unsigned char), sizeof(c2), file2); - if (c1 != c2) return 0; /* file contents are different */ + if (r1 != r2) return 0; /* file lengths are different */ + res = memcmp(c1, c2, r1); + if ( 0 != res ) return 0; /* file contents are different */ } while (r1 && r2); - - if (r1 != r2) return 0; /* file lengths are different */ return 1; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor