%% options copyright owner = Dirk Krause copyright year = 2015-xxxx SPDX-License-Identifier: BSD-3-Clause %% header /** @file Compare unique file identifiers. */ #ifndef DK4CONF_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4conf.h" #else #include #endif #endif #ifndef DK4UFIT_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include #else #include #endif #endif #ifdef __cplusplus extern "C" { #endif /** Compare two unique file identifiers. @param l Left identifier. @param r Right identifier. @return 1 if l>r, 0 if l=r, -1 if l $!trace-include int dk4ufi_compare(const dk4_ufi_t *l, const dk4_ufi_t *r) { int back = 0; $? "+ dk4ufi_compare" if (NULL != l) { if (NULL != r) { #if DK4_ON_WINDOWS if (l->ser > r->ser) { back = 1; } else { if (l->ser < r->ser) { back = -1; } } if (0 == back) { if (l->inh > r->inh) { back = 1; } else { if (l->inh < r->inh) { back = -1; } } } if (0 == back) { if (l->inl > r->inl) { back = 1; } else { if (l->inl < r->inl) { back = -1; } } } #else if (l->dev > r->dev) { back = 1; $? ". left dev larger" } else { if (l->dev < r->dev) { back = -1; $? ". right dev larger" } } if (0 == back) { if (l->ino > r->ino) { back = 1; $? ". left ino larger" } else { if (l->ino < r->ino) { back = -1; $? ". right ino larger" } } } $? ". %lu/%lu %lu/%lu", (unsigned long)(l->dev), (unsigned long)(l->ino), (unsigned long)(r->dev), (unsigned long)(r->ino) #endif } else { back = 1; } } else { if (NULL != r) { back = -1; } } $? "- dk4ufi_compare %d", back return back; }