Embedded->Printf ("\n\026\001\017Enter date of oldest message to pack, or press <enter> for %d-%02d-%d: ", ltm.tm_mday, ltm.tm_mon + 1, ltm.tm_year % 100);
Embedded->Input (Temp, 10);
if (Embedded->AbortSession () == FALSE) {
Restrict = User->LastCall;
if (Temp[0] != '\0') {
sscanf (Temp, "%d-%d-%d", &dd, &mm, &yy);
if (yy < 90)
yy += 100;
memset (<m, 0, sizeof (struct tm));
ltm.tm_mday = dd;
ltm.tm_mon = mm - 1;
ltm.tm_year = yy;
Restrict = mktime (<m);
}
if (MsgTag->First () == TRUE)
do {
if (MsgTag->Tagged == TRUE) {
MsgTag->LastRead = 0L;
MsgTag->OlderMsg = Restrict;
MsgTag->Update ();
}
} while (MsgTag->Next () == TRUE);
}
}
USHORT TOffline::TooOld (ULONG Restrict, class TMsgBase *Msg)
{
USHORT RetVal = FALSE;
struct tm ltm;
memset (<m, 0, sizeof (struct tm));
ltm.tm_mday = Msg->Written.Day;
ltm.tm_mon = Msg->Written.Month - 1;
ltm.tm_year = Msg->Written.Year - 1900;
if (mktime (<m) < Restrict)
RetVal = TRUE;
return (RetVal);
}
VOID TOffline::Scan (PSZ pszKey, ULONG ulLast)
{
class TMsgData *MsgArea;
class TMsgBase *Msg = NULL;
Current = Personal = 0L;
if ((Limit == 0 || Total < Limit) && (MsgArea = new TMsgData (Cfg->SystemPath)) != NULL) {
if (MsgArea->Read (pszKey) == TRUE) {
if (MsgArea->Storage == ST_JAM)
Msg = new JAM (MsgArea->Path);
else if (MsgArea->Storage == ST_SQUISH)
Msg = new SQUISH (MsgArea->Path);
else if (MsgArea->Storage == ST_FIDO)
Msg = new FIDOSDM (MsgArea->Path);
else if (MsgArea->Storage == ST_ADEPT)
Msg = new ADEPT (MsgArea->Path);
else if (MsgArea->Storage == ST_HUDSON)
Msg = new HUDSON (MsgArea->Path, (UCHAR)MsgArea->Board);
if (Msg != NULL) {
if (Msg->Next (ulLast) == TRUE) {
do {
Msg->ReadHeader (ulLast);
Current++;
Total++;
if (!stricmp (Msg->To, User->Name) || !stricmp (Msg->To, User->RealName)) {