version 1.45, 2015/10/05 20:15:00 |
version 1.46, 2017/08/28 15:33:27 |
|
|
dirlen1 = strlcpy(path1, *p1 ? p1 : ".", sizeof(path1)); |
dirlen1 = strlcpy(path1, *p1 ? p1 : ".", sizeof(path1)); |
if (dirlen1 >= sizeof(path1) - 1) { |
if (dirlen1 >= sizeof(path1) - 1) { |
warnc(ENAMETOOLONG, "%s", p1); |
warnc(ENAMETOOLONG, "%s", p1); |
status = 2; |
status |= 2; |
return; |
return; |
} |
} |
if (path1[dirlen1 - 1] != '/') { |
if (path1[dirlen1 - 1] != '/') { |
|
|
dirlen2 = strlcpy(path2, *p2 ? p2 : ".", sizeof(path2)); |
dirlen2 = strlcpy(path2, *p2 ? p2 : ".", sizeof(path2)); |
if (dirlen2 >= sizeof(path2) - 1) { |
if (dirlen2 >= sizeof(path2) - 1) { |
warnc(ENAMETOOLONG, "%s", p2); |
warnc(ENAMETOOLONG, "%s", p2); |
status = 2; |
status |= 2; |
return; |
return; |
} |
} |
if (path2[dirlen2 - 1] != '/') { |
if (path2[dirlen2 - 1] != '/') { |
|
|
dp2++; |
dp2++; |
} else if (pos < 0) { |
} else if (pos < 0) { |
/* file only in first dir, only diff if -N */ |
/* file only in first dir, only diff if -N */ |
if (Nflag) |
if (Nflag) { |
diffit(dent1, path1, dirlen1, path2, dirlen2, |
diffit(dent1, path1, dirlen1, path2, dirlen2, |
flags); |
flags); |
else |
} else { |
print_only(path1, dirlen1, dent1->d_name); |
print_only(path1, dirlen1, dent1->d_name); |
|
status |= 1; |
|
} |
dp1++; |
dp1++; |
} else { |
} else { |
/* file only in second dir, only diff if -N or -P */ |
/* file only in second dir, only diff if -N or -P */ |
if (Nflag || Pflag) |
if (Nflag || Pflag) { |
diffit(dent2, path1, dirlen1, path2, dirlen2, |
diffit(dent2, path1, dirlen1, path2, dirlen2, |
flags); |
flags); |
else |
} else { |
print_only(path2, dirlen2, dent2->d_name); |
print_only(path2, dirlen2, dent2->d_name); |
|
status |= 1; |
|
} |
dp2++; |
dp2++; |
} |
} |
} |
} |