Fix warnings all over citserver; handle function replies; remove unused code.
[citadel.git] / citadel / modules / wiki / serv_wiki.c
index 4643d917d3a2669da8f5e890474cc77565fbc987..f18bb4a4a30c84ad45b8b52085960b59105d3813 100644 (file)
@@ -193,7 +193,7 @@ int wiki_upload_beforesave(struct CtdlMessage *msg) {
                fclose(fp);
        }
 
-       syslog(LOG_DEBUG, "diff length is %d bytes", diffbuf_len);
+       syslog(LOG_DEBUG, "diff length is "SIZE_T_FMT" bytes", diffbuf_len);
 
        unlink(diff_old_filename);
        unlink(diff_new_filename);
@@ -603,6 +603,24 @@ void wiki_rev(char *pagename, char *rev, char *operation)
                        msg->cm_fields['A'] = strdup("Citadel");
                        CtdlCreateRoom(wwm, 5, "", 0, 1, 1, VIEW_BBS);  /* Not an error if already exists */
                        msgnum = CtdlSubmitMsg(msg, NULL, wwm, 0);      /* Store the revision here */
+
+                       /*
+                        * WARNING: VILE SLEAZY HACK
+                        * This will avoid the 'message xxx is not in this room' security error,
+                        * but only if the client fetches the message we just generated immediately
+                        * without first trying to perform other fetch operations.
+                        */
+                       if (CC->cached_msglist != NULL) {
+                               free(CC->cached_msglist);
+                               CC->cached_msglist = NULL;
+                               CC->cached_num_msgs = 0;
+                       }
+                       CC->cached_msglist = malloc(sizeof(long));
+                       if (CC->cached_msglist != NULL) {
+                               CC->cached_num_msgs = 1;
+                               CC->cached_msglist[0] = msgnum;
+                       }
+
                }
                else if (!strcasecmp(operation, "revert")) {
                        snprintf(timestamp, sizeof timestamp, "%ld", time(NULL));
@@ -679,6 +697,6 @@ CTDL_MODULE_INIT(wiki)
                CtdlRegisterProtoHook(cmd_wiki, "WIKI", "Commands related to Wiki management");
        }
 
-       /* return our Subversion id for the Log */
+       /* return our module name for the log */
        return "wiki";
 }