X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fwiki%2Fserv_wiki.c;fp=citadel%2Fmodules%2Fwiki%2Fserv_wiki.c;h=ccfc77b7e66495e3c274d32a9a825798a6a1056f;hp=e68055d05b8eda39c6077066f2e3884c2bd11bf7;hb=55013f95f08eafe1b375df4241e8defe387c6cdc;hpb=2b80e75820618944e1c75b9c01aeeefc8b6b0c81 diff --git a/citadel/modules/wiki/serv_wiki.c b/citadel/modules/wiki/serv_wiki.c index e68055d05..ccfc77b7e 100644 --- a/citadel/modules/wiki/serv_wiki.c +++ b/citadel/modules/wiki/serv_wiki.c @@ -110,8 +110,8 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) { /* Make sure we're saving a real wiki page rather than a wiki history page. * This is important in order to avoid recursing infinitely into this hook. */ - if ( (strlen(msg->cm_fields[eExclusiveID]) >= 9) - && (!strcasecmp(&msg->cm_fields[eExclusiveID][strlen(msg->cm_fields[eExclusiveID])-9], "_HISTORY_")) + if ( (msg->cm_lengths[eExclusiveID] >= 9) + && (!strcasecmp(&msg->cm_fields[eExclusiveID][msg->cm_lengths[eExclusiveID]-9], "_HISTORY_")) ) { syslog(LOG_DEBUG, "History page not being historied\n"); return(0); @@ -152,13 +152,13 @@ int wiki_upload_beforesave(struct CtdlMessage *msg, recptypes *recp) { if (old_msg != NULL) { fp = fopen(diff_old_filename, "w"); - rv = fwrite(old_msg->cm_fields[eMesageText], strlen(old_msg->cm_fields[eMesageText]), 1, fp); + rv = fwrite(old_msg->cm_fields[eMesageText], old_msg->cm_lengths[eMesageText], 1, fp); fclose(fp); CM_Free(old_msg); } fp = fopen(diff_new_filename, "w"); - rv = fwrite(msg->cm_fields[eMesageText], strlen(msg->cm_fields[eMesageText]), 1, fp); + rv = fwrite(msg->cm_fields[eMesageText], msg->cm_lengths[eMesageText], 1, fp); fclose(fp); snprintf(diff_cmd, sizeof diff_cmd, @@ -542,7 +542,7 @@ void wiki_rev(char *pagename, char *rev, char *operation) CtdlMakeTempFileName(temp, sizeof temp); fp = fopen(temp, "w"); if (fp != NULL) { - r = fwrite(msg->cm_fields[eMesageText], strlen(msg->cm_fields[eMesageText]), 1, fp); + r = fwrite(msg->cm_fields[eMesageText], msg->cm_lengths[eMesageText], 1, fp); fclose(fp); } else {