#include <ctype.h>
#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
#include <unistd.h>
+#endif
#include <stdio.h>
+#ifdef HAVE_FCNTL_H
#include <fcntl.h>
+#endif
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/socket.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_LIMITS_H
#include <limits.h>
+#endif
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <netdb.h>
#include <string.h>
#include <pwd.h>
#include <errno.h>
#include <stdarg.h>
-#include <time.h>
+#include <pthread.h>
+#include <signal.h>
#include "webcit.h"
#include "webserver.h"
void display_note(long msgnum) {
- wprintf("<TABLE border=2><TR><TD>\n");
- wprintf("FIXME note #%ld\n", msgnum);
- wprintf("</TD></TR></TABLE\n");
+ char buf[SIZ];
+ char notetext[SIZ];
+ char display_notetext[SIZ];
+ int in_text = 0;
+ int i;
+
+ wprintf("<IMG ALIGN=MIDDLE SRC=\"/static/storenotes_48x.gif\">\n");
+
+ serv_printf("MSG0 %ld", msgnum);
+ serv_getln(buf, sizeof buf);
+ if (buf[0] != '1') {
+ wprintf("%s<br />\n", &buf[4]);
+ return;
+ }
+
+ strcpy(notetext, "");
+ while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+
+ /* Fill the buffer to at least 256 characters */
+ if ( (in_text) && (strlen(notetext) < 256) ) {
+ strcat(notetext, buf);
+ }
+
+ if ( (!in_text) && (!strcasecmp(buf, "text")) ) {
+ in_text = 1;
+ }
+ }
+
+ /* Now sanitize the buffer, and shorten it to just a small snippet */
+ for (i=0; i<strlen(notetext); ++i) {
+ if (isspace(notetext[i])) notetext[i] = ' ';
+ }
+ strcpy(¬etext[72], "...");
+
+ /* Make it HTML-happy and print it. */
+ stresc(display_notetext, notetext, 1, 1);
+ wprintf("%s<br />\n", display_notetext);
}