1 #include "includes.hpp"
4 CitMessage::CitMessage(CitClient *sock, wxString getmsg_cmd, wxString inRoom) {
6 wxString sendcmd, recvcmd, buf, key;
9 bool in_text = FALSE; // true if reading the message body
15 timestamp = time(NULL); // nb. this is Unix-specific
17 nodename = sock->NodeName;
19 // Fetch the message from the server
20 if (sock->serv_trans(getmsg_cmd, recvcmd, xferbuf, inRoom) != 1) {
21 msgtext = "<EM>Error: " + recvcmd.Mid(4) + "</EM>" ;
25 while (pos = xferbuf.Find('\n', FALSE), (pos >= 0) ) {
26 buf = xferbuf.Left(pos);
27 xferbuf = xferbuf.Mid(pos+1);
29 // Break out important information if in the header
32 if (!key.CmpNoCase("text"))
34 else if (!key.CmpNoCase("from"))
36 else if (!key.CmpNoCase("rcpt"))
37 recipient = buf.Mid(5);
38 else if (!key.CmpNoCase("time"))
39 timestamp = atol(buf.Mid(5));
40 else if (!key.CmpNoCase("room"))
42 else if (!key.CmpNoCase("type")) {
43 format_type = atoi(buf.Mid(5));
44 if (format_type != 0) {
45 msgtext.Append("<PRE>\n");
48 else if (!key.CmpNoCase("node"))
49 nodename = buf.Mid(5);
51 // Otherwise, process message text
53 if (format_type != 0) {
57 if ( (buf.Left(1) == " ")
58 && (msgtext.Len() > 0) )
59 msgtext.Append("<BR>");
65 msgtext.Append("</PRE>\n");