- serv_getln(buf, sizeof buf);
- if (buf[0] == '2') {
- WC->new_mail = extract_int(&buf[4], 0);
- WC->need_regi = extract_int(&buf[4], 1);
- WC->need_vali = extract_int(&buf[4], 2);
- extract_token(WC->cs_inet_email, &buf[4], 3, '|', sizeof WC->cs_inet_email);
+ StrBuf_ServGetln(Buf);
+ if (GetServerStatus(Buf, NULL) == 2) {
+ const char *pch;
+
+ pch = ChrPtr(Buf) + 4;
+ WCC->new_mail = StrBufExtractNext_long(Buf, &pch, '|');
+ WCC->need_regi = StrBufExtractNext_long(Buf, &pch, '|');
+ WCC->need_vali = StrBufExtractNext_long(Buf, &pch, '|');
+ if (WCC->cs_inet_email == NULL)
+ WCC->cs_inet_email = NewStrBuf();
+ StrBufExtract_NextToken(WCC->cs_inet_email, Buf, &pch, '|');