SHORT _System SortByDate( CAMRecPtr p1, CAMRecPtr p2, PVOID pv) { LONG lRtn; SHORT sRtn; lRtn = *((PLONG)(&p1->date)) - *((PLONG)(&p2->date)); if (lRtn == 0) sRtn = SortByTime( p1, p2, pv); else sRtn = (SHORT)((lRtn > 0) ? sSortSense : -sSortSense); return (sRtn); }
static void PassesSortByTime(std::vector<Pass>& passes) { std::sort(passes.begin(), passes.end(), SortByTime()); }
void mheard(int port, int c_index) { LoadPortData(); SortByTime(); ListOnlyPort(port,c_index); }
int main(int argc, char *argv[]) { int headers = TRUE; int mode = 0; int data = 0; int c; while ((c = getopt(argc, argv, "d:no:v")) != -1) { switch (c) { case 'd': switch (*optarg) { case 'c': data = 1; break; case 'm': data = 3; break; case 'n': data = 0; break; case 's': data = 2; break; default: fprintf(stderr, "mheard: invalid display type '%s'\n", optarg); return 1; } break; case 'n': headers = FALSE; break; case 'o': switch (*optarg) { case 'c': mode = 2; break; case 'f': mode = 3; break; case 'p': mode = 1; break; case 't': mode = 0; break; default: fprintf(stderr, "mheard: invalid ordering type '%s'\n", optarg); return 1; } break; case 'v': printf("mheard: %s\n", VERSION); return 0; case '?': case ':': fprintf(stderr, "Usage: %s [-d cmns] [-n] [-o cfpt] [-v] [port ...]\n", argv[0]); return 1; } } LoadPortData(); switch (mode) { case 0: SortByTime(); break; case 1: SortByPort(); break; case 2: SortByCall(); break; case 3: SortByFrame(); break; } if (argc == optind) { if (headers) PrintHeader(data); ListAllPorts(data); } else { while (argv[optind] != NULL) { if (headers) { printf("Port %s:\n", argv[optind]); PrintHeader(data); } ListOnlyPort(argv[optind], data); optind++; } } return 0; }