gint rm_file_cmp_full(const RmFile *file_a, const RmFile *file_b, const RmSession *session) { gint result = rm_file_cmp(file_a, file_b); if(result != 0) { return result; } return rm_pp_cmp_orig_criteria(file_a, file_b, session); }
static gint rm_file_cmp_full(const RmFile *file_a, const RmFile *file_b, const RmSession *session) { gint result = rm_file_cmp(file_a, file_b); if(result != 0) { return result; } if(session->cfg->mtime_window >= 0) { gdouble diff = file_a->mtime - file_b->mtime; if(FLOAT_IS_ZERO(diff)) { return 0; } return (diff < 0) ? -1 : +1; } return rm_pp_cmp_orig_criteria(file_a, file_b, session); }
static int rm_tm_sort_orig_criteria(const RmDirectory *da, const RmDirectory *db, RmTreeMerger *self) { RmCfg *cfg = self->session->cfg; if(da->prefd_files - db->prefd_files) { if(cfg->keep_all_tagged) { return db->prefd_files - da->prefd_files; } else { return da->prefd_files - db->prefd_files; } } RmFile file_a, file_b; rm_directory_to_file(self, da, &file_a); rm_directory_to_file(self, db, &file_b); return rm_pp_cmp_orig_criteria(&file_a, &file_b, self->session); }