Example #1
0
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);
}
Example #2
0
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);
}
Example #3
0
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);
}