462 static const char Hdr1[] =
463 " Number Len Date/Time Created Expires Keyname User & Group\n";
465 static const char Hdr2[] =
466 " ------ --- --------- ------- -------- -------\n";
472 char crfmt[] =
"%D %T", exfmt[] =
"%D";
473 char buff[128], crbuff[64], exbuff[16];
481 {
eMsg(
"Keyfile '" <<Opt.
KeyFile <<
"' does not exist.");}
488 {ktSort = ktP; ktP = ktP->
Next; ktSort->
Next = 0;}
493 {ktS = ktSort; ktSP = 0; ktX = ktP; ktP = ktP->
Next; ktX->
Next = 0;
496 {
if (ktSP) {ktX->Next = ktS; ktSP->Next = ktX;}
497 else {ktX->Next = ktSort; ktSort = ktX;}
500 ktSP = ktS; ktS = ktS->Next;
502 if (ktSP && !ktS) ktSP->
Next = ktX;
510 {
if (pHdr) {std::cout <<Hdr1 <<Hdr2; pHdr = 0;}
511 sprintf(buff,
"%11lld %3d ", (ktP->
Data.
ID & 0x7fffffff), ktP->
Data.
Len);
512 strftime(crbuff,
sizeof(crbuff), crfmt, localtime(&ktP->
Data.
Crt));
513 if (!ktP->
Data.
Exp) strcpy(exbuff,
"--------");
514 else strftime(exbuff,
sizeof(exbuff),exfmt,localtime(&ktP->
Data.
Exp));
515 std::cout <<buff <<crbuff <<
' ' <<exbuff <<
' ' <<ktP->
Data.
Name <<
' '
int main(int argc, char *argv[])