|
|
|
|
@ -35,14 +35,14 @@
|
|
|
|
|
+
|
|
|
|
|
+ if(fstat(fd, &statbuf) == 0) {
|
|
|
|
|
+ unsigned char *fb = (unsigned char *)mmap(0, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
|
|
|
|
|
+ if (fb != MAP_FAILED) {
|
|
|
|
|
+
|
|
|
|
|
+ SHA1(fb, statbuf.st_size, temp);
|
|
|
|
|
+ for (int i=0; i < SHA_DIGEST_LENGTH; i++) {
|
|
|
|
|
+ sprintf((char*)&(file_sha1[i*2]), "%02x", temp[i]);
|
|
|
|
|
+ }
|
|
|
|
|
+ munmap(fb,statbuf.st_size);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (fb != MAP_FAILED) {
|
|
|
|
|
+ SHA1(fb, statbuf.st_size, temp);
|
|
|
|
|
+ int i;
|
|
|
|
|
+ for (i=0; i < SHA_DIGEST_LENGTH; i++) {
|
|
|
|
|
+ sprintf((char*)&(file_sha1[i*2]), "%02x", temp[i]);
|
|
|
|
|
+ }
|
|
|
|
|
+ munmap(fb,statbuf.st_size);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
|