From: Art Cancro Date: Wed, 14 Oct 2009 21:44:37 +0000 (+0000) Subject: * Generate diffs old-to-new instead of new-to-old. I think this will be easier to... X-Git-Tag: v7.86~756 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=a5f679b59e53de33add6acffe78d42fa6f2be980 * Generate diffs old-to-new instead of new-to-old. I think this will be easier to work with because we can just append. Maybe I'll change my mind again. Right now it's just writing them to the log. In a little while I'll start writing them to disk and we'll see how it goes. --- diff --git a/citadel/modules/wiki/serv_wiki.c b/citadel/modules/wiki/serv_wiki.c index 78d58a0b8..507a07a7f 100644 --- a/citadel/modules/wiki/serv_wiki.c +++ b/citadel/modules/wiki/serv_wiki.c @@ -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);