HUGE PATCH. This moves all of mime_parser.c and all
[citadel.git] / citadel / client_chat.c
index cf559526a3c00cf72826440f80d80c3afbd6337a..d2dd9cf44309855c728eadc4e4d6725387426205 100644 (file)
 #include <sys/select.h>
 #endif
 #include <stdarg.h>
+#include <libcitadel.h>
 #include "citadel.h"
 #include "citadel_ipc.h"
 #include "client_chat.h"
 #include "commands.h"
 #include "routines.h"
 #include "citadel_decls.h"
-#include "tools.h"
 #include "rooms.h"
 #include "messages.h"
 #ifndef HAVE_SNPRINTF
@@ -49,7 +49,7 @@
 #define MIN(a, b) ((a) < (b) ? (a) : (b))
 
 extern char temp[];
-void getline(char *, int);
+void ctdl_getline(char *, int);
 
 char last_paged[SIZ] = "";
 
@@ -84,6 +84,7 @@ void chatmode(CtdlIPC *ipc)
 
        strcpy(buf, "");
        strcpy(wbuf, "");
+       strcpy(last_user, ""); 
        color(BRIGHT_YELLOW);
        sln_printf_if("\n");
        sln_printf("> ");
@@ -113,7 +114,7 @@ void chatmode(CtdlIPC *ipc)
                        if ((ch == 10) || (ch == 13)) {
                                send_complete_line = 1;
                        } else if ((ch == 8) || (ch == 127)) {
-                               if (strlen(wbuf) > 0) {
+                               if (!IsEmptyStr(wbuf)) {
                                        wbuf[strlen(wbuf) - 1] = 0;
                                        sln_printf("%c %c", 8, 8);
                                }
@@ -135,7 +136,7 @@ RCL:                if (send_complete_line) {
                /* if it's time to word wrap, send a partial line */
                if (strlen(wbuf) >= (77 - strlen(fullname))) {
                        pos = 0;
-                       for (a = 0; a < strlen(wbuf); ++a) {
+                       for (a = 0; !IsEmptyStr(&wbuf[a]); ++a) {
                                if (wbuf[a] == 32)
                                        pos = a;
                        }
@@ -172,10 +173,10 @@ RCL:              if (send_complete_line) {
                                return;
                        }
                        if (num_parms(buf) >= 2) {
-                               extract(c_user, buf, 0);
-                               extract(c_text, buf, 1);
+                               extract_token(c_user, buf, 0, '|', sizeof c_user);
+                               extract_token(c_text, buf, 1, '|', sizeof c_text);
                                if (num_parms(buf) > 2) {
-                                       extract(c_room, buf, 2);
+                                       extract_token(c_room, buf, 2, '|', sizeof c_room);
                                        scr_printf("Got room %s\n", c_room);
                                }
                                if (strcasecmp(c_text, "NOOP")) {
@@ -225,7 +226,7 @@ RCL:                if (send_complete_line) {
 }
 
 /*
- * send an express message
+ * send an instant message
  */
 void page_user(CtdlIPC *ipc)
 {
@@ -256,7 +257,7 @@ void page_user(CtdlIPC *ipc)
                        scr_printf("%s\n", &buf[4]);
                        return;
                }
-               if (client_make_message(ipc, temp, touser, 0, 0, 0, NULL) != 0) {
+               if (client_make_message(ipc, temp, touser, 0, 0, 0, NULL, 0) != 0) {
                        scr_printf("No message sent.\n");
                        return;
                }