From: Wilfried Goesgens Date: Mon, 27 Jul 2015 10:55:19 +0000 (+0200) Subject: Fix migrating of metadata X-Git-Tag: Release_902~156^2~1^2~13 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=429eda3f521c1c54a06b803c25175cc73fdc57cb Fix migrating of metadata - don't omit the length of messages - proper rc for no error. --- diff --git a/citadel/modules/migrate/serv_migrate.c b/citadel/modules/migrate/serv_migrate.c index d375da4a6..5f7b38f01 100644 --- a/citadel/modules/migrate/serv_migrate.c +++ b/citadel/modules/migrate/serv_migrate.c @@ -326,7 +326,9 @@ void migr_export_message(long msgnum) { GetMetaData(&smi, msgnum); cprintf("%ld\n", msgnum); cprintf("%d\n", smi.meta_refcount); + cprintf("%ld\n", smi.meta_rfc822_length); client_write(HKEY("")); xml_strout(smi.meta_content_type); client_write(HKEY("\n")); + client_write(HKEY("")); xml_strout(smi.mimetype); client_write(HKEY("\n")); client_write(HKEY("")); CtdlSerializeMessage(&smr, msg); @@ -931,16 +933,17 @@ void migr_xml_end(void *data, const char *el) /*** MESSAGES ***/ - else if (!strcasecmp(el, "msg_msgnum")) import_msgnum = atol(ChrPtr(migr_chardata)); + else if (!strcasecmp(el, "msg_msgnum")) smi.meta_msgnum = import_msgnum = atol(ChrPtr(migr_chardata)); else if (!strcasecmp(el, "msg_meta_refcount")) smi.meta_refcount = atoi(ChrPtr(migr_chardata)); + else if (!strcasecmp(el, "msg_meta_rfc822_length")) smi.meta_rfc822_length = atoi(ChrPtr(migr_chardata)); else if (!strcasecmp(el, "msg_meta_content_type")) safestrncpy(smi.meta_content_type, ChrPtr(migr_chardata), sizeof smi.meta_content_type); + else if (!strcasecmp(el, "msg_mimetype")) safestrncpy(smi.mimetype, ChrPtr(migr_chardata), sizeof smi.mimetype); else if (!strcasecmp(el, "msg_text")) { long rc; struct CtdlMessage *msg; - smi.meta_msgnum = import_msgnum; FlushStrBuf(migr_MsgData); StrBufDecodeBase64To(migr_chardata, migr_MsgData); @@ -949,7 +952,7 @@ void migr_xml_end(void *data, const char *el) StrLength(migr_MsgData)); if (msg != NULL) { rc = CtdlSaveThisMessage(msg, import_msgnum, 0); - if (rc > 0) { + if (rc == 0) { PutMetaData(&smi); } CM_Free(msg); @@ -959,12 +962,15 @@ void migr_xml_end(void *data, const char *el) } syslog(LOG_INFO, - "%s message #%ld, size=%d, refcount=%d, content-type: %s\n", + "%s message #%ld, size=%d, refcount=%d, bodylength=%ld, content-type: %s / %s \n", (rc!= 0)?"failed to import ":"Imported ", import_msgnum, StrLength(migr_MsgData), smi.meta_refcount, - smi.meta_content_type); + smi.meta_rfc822_length, + smi.meta_content_type, + smi.mimetype); + memset(&smi, 0, sizeof(smi)); } /*** MORE GENERAL STUFF ***/