<listitem>\r
<para>\r
Show images with the same name but different content.\r
+ <note>\r
+ <para>Because pairs of files are being compared, when there are multiple hits care should be taken when analyzing the results.</para>\r
+ </note>\r
</para>\r
</listitem>\r
</varlistentry>\r
<listitem>\r
<para>\r
Show images with the same name, ignoring case, but different content.\r
+ <note>\r
+ <para>Because pairs of files are being compared, when there are multiple hits care should be taken when analyzing the results.</para>\r
+ </note>\r
</para>\r
</listitem>\r
</varlistentry>\r
{
if (!a->md5sum) a->md5sum = md5_text_from_file_utf8(a->fd->path, "");
if (!b->md5sum) b->md5sum = md5_text_from_file_utf8(b->fd->path, "");
- if (a->md5sum[0] != '\0' ||
- b->md5sum[0] != '\0' ||
+ if (a->md5sum[0] == '\0' ||
+ b->md5sum[0] == '\0' ||
strcmp(a->md5sum, b->md5sum) != 0)
{
return TRUE;
{
if (!a->md5sum) a->md5sum = md5_text_from_file_utf8(a->fd->path, "");
if (!b->md5sum) b->md5sum = md5_text_from_file_utf8(b->fd->path, "");
- if (a->md5sum[0] != '\0' ||
- b->md5sum[0] != '\0' ||
+ if (a->md5sum[0] == '\0' ||
+ b->md5sum[0] == '\0' ||
strcmp(a->md5sum, b->md5sum) != 0)
{
return TRUE;
if (options->duplicates_match == DUPE_MATCH_NAME_CI) dw->match_mask = DUPE_MATCH_NAME_CI;
if (options->duplicates_match == DUPE_MATCH_NAME_CONTENT) dw->match_mask = DUPE_MATCH_NAME_CONTENT;
if (options->duplicates_match == DUPE_MATCH_NAME_CI_CONTENT) dw->match_mask = DUPE_MATCH_NAME_CI_CONTENT;
+ if (options->duplicates_match == DUPE_MATCH_ALL) dw->match_mask = DUPE_MATCH_ALL;
dw->window = window_new(GTK_WINDOW_TOPLEVEL, "dupe", NULL, NULL, _("Find duplicates"));
DEBUG_NAME(dw->window);
DUPE_MATCH_NAME_CI = 1 << 10, /* same as name, but case insensitive */
DUPE_MATCH_NAME_CONTENT = 1 << 11, /* same name, but different content */
DUPE_MATCH_NAME_CI_CONTENT = 1 << 12, /* same name - case insensitive, but different content */
- DUPE_MATCH_ALL = 1 << 13
+ DUPE_MATCH_ALL = 1 << 13 /* N.B. this is used as a clamp value in rcfile.c */
} DupeMatchType;
typedef enum
if (READ_BOOL(*options, update_on_time_change)) continue;
if (READ_UINT_CLAMP(*options, duplicates_similarity_threshold, 0, 100)) continue;
- if (READ_UINT_CLAMP(*options, duplicates_match, 0, DUPE_MATCH_NAME_CI)) continue;
+ if (READ_UINT_CLAMP(*options, duplicates_match, 0, DUPE_MATCH_ALL)) continue;
if (READ_UINT_CLAMP(*options, duplicates_select_type, 0, DUPE_SELECT_GROUP2)) continue;
if (READ_BOOL(*options, duplicates_thumbnails)) continue;
if (READ_BOOL(*options, rot_invariant_sim)) continue;