|
version 1.4.6.2, 2014/02/04 16:46:20
|
version 1.5.4.1, 2016/08/18 09:53:02
|
|
Line 12 terms:
|
Line 12 terms:
|
| All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
| Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
| |
|
| Copyright 2004 - 2014 | Copyright 2004 - 2016 |
| by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
| |
|
| Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
|
Line 142 create_diridx(const char *csDir, int lm, int *tags, st
|
Line 142 create_diridx(const char *csDir, int lm, int *tags, st
|
| memset(&l[n + 1], 0, sizeof(struct tagDirName)); |
memset(&l[n + 1], 0, sizeof(struct tagDirName)); |
| |
|
| l[n].ch = DIFF_D1; |
l[n].ch = DIFF_D1; |
| |
#ifndef __linux__ |
| l[n].tag = crcFletcher16((u_short*) d.d_name, |
l[n].tag = crcFletcher16((u_short*) d.d_name, |
| d.d_namlen / 2 + d.d_namlen % 2); |
d.d_namlen / 2 + d.d_namlen % 2); |
| l[n].hash = crcAdler((u_char*) d.d_name, d.d_namlen); |
l[n].hash = crcAdler((u_char*) d.d_name, d.d_namlen); |
| |
#else |
| |
l[n].tag = crcFletcher16((u_short*) d.d_name, |
| |
strlen(d.d_name) / 2 + strlen(d.d_name) % 2); |
| |
l[n].hash = crcAdler((u_char*) d.d_name, strlen(d.d_name)); |
| |
#endif |
| strlcpy(l[n].name, d.d_name, sizeof l[n].name); |
strlcpy(l[n].name, d.d_name, sizeof l[n].name); |
| if (lm & 1) { |
if (lm & 1) { |
| if (lstat(d.d_name, &sb) != -1) { |
if (lstat(d.d_name, &sb) != -1) { |
|
Line 190 create_diridx(const char *csDir, int lm, int *tags, st
|
Line 196 create_diridx(const char *csDir, int lm, int *tags, st
|
| break; |
break; |
| } |
} |
| snprintf(l[n].extra, sizeof l[n].extra, |
snprintf(l[n].extra, sizeof l[n].extra, |
| "%s links=%d inode=%ld %d:%d perm=0%o size=%ld %s", | "%s links=%ld inode=%ld %d:%d perm=0%o size=%ld %s", |
| szType, sb.st_nlink, (long) sb.st_ino, | szType, (long) sb.st_nlink, (long) sb.st_ino, |
| sb.st_uid, sb.st_gid, sb.st_mode & 0x1fff, |
sb.st_uid, sb.st_gid, sb.st_mode & 0x1fff, |
| (long) sb.st_size, szStr); |
(long) sb.st_size, szStr); |
| } |
} |
|
Line 247 sync_dirChkSum(const char *csDir, u_char **md)
|
Line 253 sync_dirChkSum(const char *csDir, u_char **md)
|
| while (!readdir_r(dir, &d, &pd) && pd) { |
while (!readdir_r(dir, &d, &pd) && pd) { |
| if (d.d_type == DT_DIR && (!strcmp(d.d_name, ".") || !strcmp(d.d_name, ".."))) |
if (d.d_type == DT_DIR && (!strcmp(d.d_name, ".") || !strcmp(d.d_name, ".."))) |
| continue; |
continue; |
| |
#ifndef __linux__ |
| MD5_Update(&ctx, d.d_name, d.d_namlen); |
MD5_Update(&ctx, d.d_name, d.d_namlen); |
| |
#else |
| |
MD5_Update(&ctx, d.d_name, strlen(d.d_name)); |
| |
#endif |
| ret++; |
ret++; |
| } |
} |
| MD5_Final(*md, &ctx); |
MD5_Final(*md, &ctx); |
|
Line 351 sync_dircmpList(const char *csDir1, const char *csDir2
|
Line 361 sync_dircmpList(const char *csDir1, const char *csDir2
|
| if (d.d_type == DT_DIR && (!strcmp(d.d_name, ".") || !strcmp(d.d_name, ".."))) |
if (d.d_type == DT_DIR && (!strcmp(d.d_name, ".") || !strcmp(d.d_name, ".."))) |
| continue; |
continue; |
| else { |
else { |
| |
#ifndef __linux__ |
| t = crcFletcher16((u_short*) d.d_name, d.d_namlen / 2 + d.d_namlen % 2); |
t = crcFletcher16((u_short*) d.d_name, d.d_namlen / 2 + d.d_namlen % 2); |
| hash = crcAdler((u_char*) d.d_name, d.d_namlen); |
hash = crcAdler((u_char*) d.d_name, d.d_namlen); |
| |
#else |
| |
t = crcFletcher16((u_short*) d.d_name, strlen(d.d_name) / 2 + strlen(d.d_name) % 2); |
| |
hash = crcAdler((u_char*) d.d_name, strlen(d.d_name)); |
| |
#endif |
| } |
} |
| |
|
| find = find_tag(tags, l, t, hash); |
find = find_tag(tags, l, t, hash); |
|
Line 417 sync_dircmpList(const char *csDir1, const char *csDir2
|
Line 432 sync_dircmpList(const char *csDir1, const char *csDir2
|
| break; |
break; |
| } |
} |
| snprintf(l[n].extra, sizeof l[n].extra, |
snprintf(l[n].extra, sizeof l[n].extra, |
| "%s links=%d inode=%ld %d:%d perm=0%o " | "%s links=%ld inode=%ld %d:%d perm=0%o " |
| "size=%ld %s", szType, sb.st_nlink, | "size=%ld %s", szType, (long) sb.st_nlink, |
| (long) sb.st_ino, sb.st_uid, sb.st_gid, |
(long) sb.st_ino, sb.st_uid, sb.st_gid, |
| sb.st_mode & 0x1fff, (long) sb.st_size, |
sb.st_mode & 0x1fff, (long) sb.st_size, |
| szStr); |
szStr); |