]> code.citadel.org Git - citadel.git/blobdiff - citadel/commands.c
* New UI for mailing list setup
[citadel.git] / citadel / commands.c
index 3a67eb77eff00991902fe841f57841fef638d30b..75399ca1b59fc960442cabe831f620a26c5467f6 100644 (file)
 #include <ctype.h>
 #include <string.h>
 #include <sys/types.h>
-#include <sys/time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
 
 #ifdef HAVE_TERMIOS_H
 #include <termios.h>
@@ -41,6 +51,7 @@
 #include "routines2.h"
 #include "tools.h"
 #include "rooms.h"
+#include "client_chat.h"
 #ifndef HAVE_SNPRINTF
 #include "snprintf.h"
 #endif
@@ -63,8 +74,8 @@ int rc_force_mail_prompts;
 int rc_remember_passwords;
 int rc_ansi_color;
 int num_urls = 0;
-char urls[MAXURLS][1024];
-char rc_url_cmd[1024];
+char urls[MAXURLS][SIZ];
+char rc_url_cmd[SIZ];
 
 char *gl_string;
 int next_lazy_cmd = 5;
@@ -213,6 +224,7 @@ void print_express(void)
                flags = extract_int(&buf[4], 2);
                extract(sender, &buf[4], 3);
                extract(node, &buf[4], 4);
+               strcpy(last_paged, sender);
        
                stamp = localtime(&timestamp);
 
@@ -1025,22 +1037,22 @@ int getcmd(char *argbuf)
                }
 
                if (ch == '?') {
-                       printf("\rOne of ...                         \n");
+                       pprintf("\rOne of ...                         \n");
                        for (cptr = cmdlist; cptr != NULL; cptr = cptr->next) {
                                if (cmdmatch(cmdbuf, cptr, cmdpos)) {
                                        for (a = 0; a < 5; ++a) {
-                                               printf("%s ", cmd_expand(cptr->c_keys[a], 1));
+                                               pprintf("%s ", cmd_expand(cptr->c_keys[a], 1));
                                        }
-                                       printf("\n");
+                                       pprintf("\n");
                                }
                        }
 
-                       printf("\n%s%c ", room_name, room_prompt(room_flags));
+                       pprintf("\n%s%c ", room_name, room_prompt(room_flags));
                        got = 0;
                        for (cptr = cmdlist; cptr != NULL; cptr = cptr->next) {
                                if ((got == 0) && (cmdmatch(cmdbuf, cptr, cmdpos))) {
                                        for (a = 0; a < cmdpos; ++a) {
-                                               printf("%s ",
+                                               pprintf("%s ",
                                                       cmd_expand(cptr->c_keys[a], 0));
                                        }
                                        got = 1;
@@ -1195,7 +1207,7 @@ FMTA:     while ((eof_flag == 0) && (strlen(buffer) < 126)) {
 
        if ( (!strncasecmp(buffer, "http://", 7))
           || (!strncasecmp(buffer, "ftp://", 6)) ) {
-               safestrncpy(urls[num_urls], buffer, 255);
+               safestrncpy(urls[num_urls], buffer, (SIZ-1));
                for (a=0; a<strlen(urls[num_urls]); ++a) {
                        b = urls[num_urls][a];
                        if ( (b==' ') || (b==')') || (b=='>') || (b==10)