Changeset 1161 for trunk/dll/sortcnr.c


Ignore:
Timestamp:
Sep 5, 2008, 11:42:27 PM (17 years ago)
Author:
John Small
Message:

Ticket 187: Draft 1: Functions only

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/sortcnr.c

    r907 r1161  
    2121
    2222#include "fm3dll.h"
     23#include "sortcnr.h"
     24#include "valid.h"                      // TestCDates
     25
     26static SHORT SortCnr(PMINIRECORDCORE p1, PMINIRECORDCORE p2, INT Sortflags);
    2327
    2428SHORT APIENTRY SortTreeCnr(PMINIRECORDCORE p1, PMINIRECORDCORE p2,
    25                            PVOID pStorage)
     29                           PVOID pStorage)
    2630{
    2731  return SortCnr(p1, p2, ((pStorage) ? (INT) pStorage : TreesortFlags));
     
    2933
    3034SHORT APIENTRY SortDirCnr(PMINIRECORDCORE p1, PMINIRECORDCORE p2,
    31                           PVOID pStorage)
     35                          PVOID pStorage)
    3236{
    3337  DIRCNRDATA *dcd = WinQueryWindowPtr(((PCNRITEM) p1)->hwndCnr, QWL_USER);
    3438
    3539  return SortCnr(p1, p2, ((pStorage) ? (INT) pStorage :
    36                           (dcd && dcd->size == sizeof(DIRCNRDATA)) ?
    37                           dcd->sortFlags : sortFlags));
     40                          (dcd && dcd->size == sizeof(DIRCNRDATA)) ?
     41                          dcd->sortFlags : sortFlags));
    3842}
    3943
    4044SHORT APIENTRY SortCollectorCnr(PMINIRECORDCORE p1, PMINIRECORDCORE p2,
    41                                 PVOID pStorage)
     45                                PVOID pStorage)
    4246{
    4347  return SortCnr(p1, p2, ((pStorage) ? (INT) pStorage : CollectorsortFlags));
     
    5660    if (SortFlags & SORT_DIRSFIRST) {
    5761      if ((pCI1->attrFile & FILE_DIRECTORY) !=
    58           (pCI2->attrFile & FILE_DIRECTORY))
    59         return (pCI1->attrFile & FILE_DIRECTORY) ? -1 : 1;
     62          (pCI2->attrFile & FILE_DIRECTORY))
     63        return (pCI1->attrFile & FILE_DIRECTORY) ? -1 : 1;
    6064    }
    6165    else if (SortFlags & SORT_DIRSLAST) {
    6266      if ((pCI1->attrFile & FILE_DIRECTORY) !=
    63           (pCI2->attrFile & FILE_DIRECTORY))
    64         return (pCI1->attrFile & FILE_DIRECTORY) ? 1 : -1;
     67          (pCI2->attrFile & FILE_DIRECTORY))
     68        return (pCI1->attrFile & FILE_DIRECTORY) ? 1 : -1;
    6569    }
    6670    switch (SortFlags & (~(SORT_DIRSFIRST | SORT_DIRSLAST | SORT_REVERSE))) {
    6771    case SORT_SUBJECT:
    6872      if (*pCI1->pszSubject && *pCI2->pszSubject)
    69         ret = stricmp(pCI1->pszSubject, pCI2->pszSubject);
     73        ret = stricmp(pCI1->pszSubject, pCI2->pszSubject);
    7074      else {
    71         ret = (*pCI2->pszSubject) ? 1 : (*pCI1->pszSubject) ? -1 : 0;
    72         if (ret && (SortFlags & SORT_REVERSE))
    73           ret = (ret > 0) ? -1 : 1;
     75        ret = (*pCI2->pszSubject) ? 1 : (*pCI1->pszSubject) ? -1 : 0;
     76        if (ret && (SortFlags & SORT_REVERSE))
     77          ret = (ret > 0) ? -1 : 1;
    7478      }
    7579      break;
     
    7983      pch2 = strrchr(pCI2->pszFileName, '\\');
    8084      if (!pch1)
    81         pch1 = NullStr;
    82       if (!pch2)
    83         pch2 = NullStr;
     85        pch1 = NullStr;
     86      if (!pch2)
     87        pch2 = NullStr;
    8488      ret = stricmp(pch1, pch2);
    8589      break;
     
    8993      pch2 = strrchr(pCI2->pszFileName, '\\');
    9094      if (!pch1)
    91         pch1 = pCI1->pszFileName;
    92       if (!pch2)
    93         pch2 = pCI2->pszFileName;
     95        pch1 = pCI1->pszFileName;
     96      if (!pch2)
     97        pch2 = pCI2->pszFileName;
    9498      pch1 = strchr(pch1, '.');
    9599      pch2 = strchr(pch2, '.');
    96100      if (!pch1)
    97         pch1 = NullStr;
    98       if (!pch2)
    99         pch2 = NullStr;
     101        pch1 = NullStr;
     102      if (!pch2)
     103        pch2 = NullStr;
    100104      ret = stricmp(pch1, pch2);
    101105      break;
     
    105109      pch2 = strrchr(pCI2->pszFileName, '\\');
    106110      if (!pch1)
    107         pch1 = pCI1->pszFileName;
    108       if (!pch2)
    109         pch2 = pCI2->pszFileName;
     111        pch1 = pCI1->pszFileName;
     112      if (!pch2)
     113        pch2 = pCI2->pszFileName;
    110114      pch1 = strrchr(pch1, '.');
    111115      pch2 = strrchr(pch2, '.');
    112116      if (!pch1)
    113         pch1 = NullStr;
    114       if (!pch2)
    115         pch2 = NullStr;
     117        pch1 = NullStr;
     118      if (!pch2)
     119        pch2 = NullStr;
    116120      ret = stricmp(pch1, pch2);
    117121      break;
     
    119123    case SORT_SIZE:
    120124      ret =
    121         (pCI1->cbFile < pCI2->cbFile) ? 1 : (pCI1->cbFile ==
    122                                              pCI2->cbFile) ? 0 : -1;
     125        (pCI1->cbFile < pCI2->cbFile) ? 1 : (pCI1->cbFile ==
     126                                             pCI2->cbFile) ? 0 : -1;
    123127      if (!ret)
    124         ret =
    125           (pCI1->easize < pCI2->easize) ? 1 : (pCI1->easize ==
    126                                                pCI2->easize) ? 0 : -1;
     128        ret =
     129          (pCI1->easize < pCI2->easize) ? 1 : (pCI1->easize ==
     130                                               pCI2->easize) ? 0 : -1;
    127131      break;
    128132
    129133    case SORT_EASIZE:
    130134      ret =
    131         (pCI1->easize < pCI2->easize) ? 1 : (pCI1->easize ==
    132                                              pCI2->easize) ? 0 : -1;
     135        (pCI1->easize < pCI2->easize) ? 1 : (pCI1->easize ==
     136                                             pCI2->easize) ? 0 : -1;
    133137      if (!ret)
    134         ret =
    135           (pCI1->cbFile < pCI2->cbFile) ? 1 : (pCI1->cbFile ==
    136                                                pCI2->cbFile) ? 0 : -1;
     138        ret =
     139          (pCI1->cbFile < pCI2->cbFile) ? 1 : (pCI1->cbFile ==
     140                                               pCI2->cbFile) ? 0 : -1;
    137141      break;
    138142
     
    141145                        &pCI2->date, &pCI2->time);
    142146        /*(pCI1->date.year < pCI2->date.year) ? 1 :
    143         (pCI1->date.year > pCI2->date.year) ? -1 :
    144         (pCI1->date.month < pCI2->date.month) ? 1 :
    145         (pCI1->date.month > pCI2->date.month) ? -1 :
    146         (pCI1->date.day < pCI2->date.day) ? 1 :
    147         (pCI1->date.day > pCI2->date.day) ? -1 :
    148         (pCI1->time.hours < pCI2->time.hours) ? 1 :
    149         (pCI1->time.hours > pCI2->time.hours) ? -1 :
    150         (pCI1->time.minutes < pCI2->time.minutes) ? 1 :
    151         (pCI1->time.minutes > pCI2->time.minutes) ? -1 :
    152         (pCI1->time.seconds < pCI2->time.seconds) ? 1 :
    153         (pCI1->time.seconds > pCI2->time.seconds) ? -1 : 0;*/
     147        (pCI1->date.year > pCI2->date.year) ? -1 :
     148        (pCI1->date.month < pCI2->date.month) ? 1 :
     149        (pCI1->date.month > pCI2->date.month) ? -1 :
     150        (pCI1->date.day < pCI2->date.day) ? 1 :
     151        (pCI1->date.day > pCI2->date.day) ? -1 :
     152        (pCI1->time.hours < pCI2->time.hours) ? 1 :
     153        (pCI1->time.hours > pCI2->time.hours) ? -1 :
     154        (pCI1->time.minutes < pCI2->time.minutes) ? 1 :
     155        (pCI1->time.minutes > pCI2->time.minutes) ? -1 :
     156        (pCI1->time.seconds < pCI2->time.seconds) ? 1 :
     157        (pCI1->time.seconds > pCI2->time.seconds) ? -1 : 0;*/
    154158      break;
    155159
     
    158162                       &pCI2->ladate, &pCI2->latime);
    159163        /*(pCI1->ladate.year < pCI2->ladate.year) ? 1 :
    160         (pCI1->ladate.year > pCI2->ladate.year) ? -1 :
    161         (pCI1->ladate.month < pCI2->ladate.month) ? 1 :
    162         (pCI1->ladate.month > pCI2->ladate.month) ? -1 :
    163         (pCI1->ladate.day < pCI2->ladate.day) ? 1 :
    164         (pCI1->ladate.day > pCI2->ladate.day) ? -1 :
    165         (pCI1->latime.hours < pCI2->latime.hours) ? 1 :
    166         (pCI1->latime.hours > pCI2->latime.hours) ? -1 :
    167         (pCI1->latime.minutes < pCI2->latime.minutes) ? 1 :
    168         (pCI1->latime.minutes > pCI2->latime.minutes) ? -1 :
    169         (pCI1->latime.seconds < pCI2->latime.seconds) ? 1 :
    170         (pCI1->latime.seconds > pCI2->latime.seconds) ? -1 : 0;*/
     164        (pCI1->ladate.year > pCI2->ladate.year) ? -1 :
     165        (pCI1->ladate.month < pCI2->ladate.month) ? 1 :
     166        (pCI1->ladate.month > pCI2->ladate.month) ? -1 :
     167        (pCI1->ladate.day < pCI2->ladate.day) ? 1 :
     168        (pCI1->ladate.day > pCI2->ladate.day) ? -1 :
     169        (pCI1->latime.hours < pCI2->latime.hours) ? 1 :
     170        (pCI1->latime.hours > pCI2->latime.hours) ? -1 :
     171        (pCI1->latime.minutes < pCI2->latime.minutes) ? 1 :
     172        (pCI1->latime.minutes > pCI2->latime.minutes) ? -1 :
     173        (pCI1->latime.seconds < pCI2->latime.seconds) ? 1 :
     174        (pCI1->latime.seconds > pCI2->latime.seconds) ? -1 : 0;*/
    171175      break;
    172176
     
    175179                       &pCI2->crdate, &pCI2->crtime);
    176180        /*(pCI1->crdate.year < pCI2->crdate.year) ? 1 :
    177         (pCI1->crdate.year > pCI2->crdate.year) ? -1 :
    178         (pCI1->crdate.month < pCI2->crdate.month) ? 1 :
    179         (pCI1->crdate.month > pCI2->crdate.month) ? -1 :
    180         (pCI1->crdate.day < pCI2->crdate.day) ? 1 :
    181         (pCI1->crdate.day > pCI2->crdate.day) ? -1 :
    182         (pCI1->crtime.hours < pCI2->crtime.hours) ? 1 :
    183         (pCI1->crtime.hours > pCI2->crtime.hours) ? -1 :
    184         (pCI1->crtime.minutes < pCI2->crtime.minutes) ? 1 :
    185         (pCI1->crtime.minutes > pCI2->crtime.minutes) ? -1 :
    186         (pCI1->crtime.seconds < pCI2->crtime.seconds) ? 1 :
    187         (pCI1->crtime.seconds > pCI2->crtime.seconds) ? -1 : 0;*/
     181        (pCI1->crdate.year > pCI2->crdate.year) ? -1 :
     182        (pCI1->crdate.month < pCI2->crdate.month) ? 1 :
     183        (pCI1->crdate.month > pCI2->crdate.month) ? -1 :
     184        (pCI1->crdate.day < pCI2->crdate.day) ? 1 :
     185        (pCI1->crdate.day > pCI2->crdate.day) ? -1 :
     186        (pCI1->crtime.hours < pCI2->crtime.hours) ? 1 :
     187        (pCI1->crtime.hours > pCI2->crtime.hours) ? -1 :
     188        (pCI1->crtime.minutes < pCI2->crtime.minutes) ? 1 :
     189        (pCI1->crtime.minutes > pCI2->crtime.minutes) ? -1 :
     190        (pCI1->crtime.seconds < pCI2->crtime.seconds) ? 1 :
     191        (pCI1->crtime.seconds > pCI2->crtime.seconds) ? -1 : 0;*/
    188192      break;
    189193    }
Note: See TracChangeset for help on using the changeset viewer.