* Generate diffs old-to-new instead of new-to-old. I think this will be easier to...
authorArt Cancro <ajc@citadel.org>
Wed, 14 Oct 2009 21:44:37 +0000 (21:44 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 14 Oct 2009 21:44:37 +0000 (21:44 +0000)
citadel/modules/wiki/serv_wiki.c

index 78d58a0b8ca37ea168b3a4b9e89e5733a8b58a4d..507a07a7fbef127247f98f6d2dc099eb96ec05a7 100644 (file)
@@ -102,20 +102,20 @@ int wiki_upload_beforesave(struct CtdlMessage *msg) {
        CtdlMakeTempFileName(diff_old_filename, sizeof diff_old_filename);
        CtdlMakeTempFileName(diff_new_filename, sizeof diff_new_filename);
 
-       fp = fopen(diff_new_filename, "w");
-       rv = fwrite(msg->cm_fields['M'], strlen(msg->cm_fields['M']), 1, fp);
-       fclose(fp);
-
        fp = fopen(diff_old_filename, "w");
        rv = fwrite(old_msg->cm_fields['M'], strlen(old_msg->cm_fields['M']), 1, fp);
        fclose(fp);
-
        CtdlFreeMessage(old_msg);
 
-       snprintf(diff_cmd, sizeof diff_cmd, "diff -u %s %s", diff_new_filename, diff_old_filename);
+       fp = fopen(diff_new_filename, "w");
+       rv = fwrite(msg->cm_fields['M'], strlen(msg->cm_fields['M']), 1, fp);
+       fclose(fp);
+
+       snprintf(diff_cmd, sizeof diff_cmd, "diff -u %s %s", diff_old_filename, diff_new_filename);
        fp = popen(diff_cmd, "r");
        if (fp != NULL) {
                while (s = fgets(buf, sizeof buf, fp), (s != NULL)) {
+                       /* FIXME now do something with it */
                        CtdlLogPrintf(CTDL_DEBUG, "\033[32m%s\033[0m", s);
                }
                pclose(fp);