+void load_seen_flags(void)
+{
+ message_summary *Msg;
+ const char *HashKey;
+ long HKLen;
+ StrBuf *OldMsg = NewStrBuf();;
+ wcsession *WCC = WC;
+ HashPos *at;
+ void *vMsg;
+
+ serv_puts("GTSN");
+ StrBuf_ServGetln(OldMsg);
+ if (ChrPtr(OldMsg)[0] == '2') {
+ StrBufCutLeft(OldMsg, 4);
+ }
+ else {
+ FreeStrBuf(&OldMsg);
+ return;
+ }
+ at = GetNewHashPos(WCC->summ, 0);
+ while (GetNextHashPos(WCC->summ, at, &HKLen, &HashKey, &vMsg)) {
+ /** Are you a new message, or an old message? */
+ Msg = (message_summary*) vMsg;
+ if (is_msg_in_mset(ChrPtr(OldMsg), Msg->msgnum)) {
+ Msg->is_new = 0;
+ }
+ else {
+ Msg->is_new = 1;
+ }
+ }
+ FreeStrBuf(&OldMsg);
+ DeleteHashPos(&at);
+}