X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fmigrate%2Fserv_migrate.c;h=d55f8e9de1c9ad8f424318a93a72d6e299e75a4a;hb=e047988e5cb07d89edeec13afea5c25a52ef26c6;hp=96ff75057f20e218285c7f1820416f6d82539961;hpb=d372b4e08a1b644c76985a89f55e77ab16fe691d;p=citadel.git diff --git a/citadel/modules/migrate/serv_migrate.c b/citadel/modules/migrate/serv_migrate.c index 96ff75057..d55f8e9de 100644 --- a/citadel/modules/migrate/serv_migrate.c +++ b/citadel/modules/migrate/serv_migrate.c @@ -253,7 +253,6 @@ int is_sequence_set(char *s) { } - /* * Traverse the visits file... */ @@ -359,7 +358,6 @@ void migr_export_message(long msgnum) { } - void migr_export_openids(void) { struct cdbdata *cdboi; long usernum; @@ -405,8 +403,6 @@ void migr_export_configs(void) { } - - void migr_export_messages(void) { char buf[SIZ]; long msgnum; @@ -434,16 +430,17 @@ void migr_export_messages(void) { } fclose(migr_global_message_list); } - if (Ctx->kill_me == 0) + if (Ctx->kill_me == 0) { syslog(LOG_INFO, "Exported %d messages.", count); - else + } + else { syslog(LOG_ERR, "Export aborted due to client disconnect!"); + } migr_export_message(-1L); /* This frees the encoding buffer */ } - void migr_do_export(void) { CitContext *Ctx; @@ -478,8 +475,6 @@ void migr_do_export(void) { } - - /****************************************************************************** * Import code * * Here's the code that implements the import side. It's going to end up * @@ -613,9 +608,10 @@ int migr_roomrecord(void *data, const char *el) return 1; } + int migr_floorrecord(void *data, const char *el) { - if (!strcasecmp(el, "f_num")) floornum = atoi(ChrPtr(migr_chardata)); + if (!strcasecmp(el, "f_num")) floornum = atoi(ChrPtr(migr_chardata)); else if (!strcasecmp(el, "f_flags")) flbuf.f_flags = atoi(ChrPtr(migr_chardata)); else if (!strcasecmp(el, "f_name")) safestrncpy(flbuf.f_name, ChrPtr(migr_chardata), sizeof flbuf.f_name); else if (!strcasecmp(el, "f_ref_count")) flbuf.f_ref_count = atoi(ChrPtr(migr_chardata)); @@ -625,6 +621,7 @@ int migr_floorrecord(void *data, const char *el) return 1; } + int migr_visitrecord(void *data, const char *el) { if (!strcasecmp(el, "v_roomnum")) vbuf.v_roomnum = atol(ChrPtr(migr_chardata)); @@ -780,9 +777,9 @@ void migr_xml_end(void *data, const char *el) } /*** VISITS ***/ - else if ((!strncasecmp(el, HKEY("v_"))) && - migr_visitrecord(data, el)) + else if ((!strncasecmp(el, HKEY("v_"))) && migr_visitrecord(data, el)) { ; /* Nothing to do anymore */ + } else if (!strcasecmp(el, "visit")) { put_visit(&vbuf); syslog(LOG_INFO, "Imported visit: %ld/%ld/%ld", vbuf.v_roomnum, vbuf.v_roomgen, vbuf.v_usernum); @@ -835,8 +832,6 @@ void migr_xml_end(void *data, const char *el) } - - /* * Import begins here */ @@ -865,9 +860,7 @@ void migr_do_import(void) { client_set_inbound_buf(SIZ * 10); while (!Finished && client_read_random_blob(Buf, -1) >= 0) { - if ((StrLength(Buf) > 4) && - !strcmp(ChrPtr(Buf) + StrLength(Buf) - 4, "000\n")) - { + if ((StrLength(Buf) > 4) && !strcmp(ChrPtr(Buf) + StrLength(Buf) - 4, "000\n")) { Finished = 1; StrBufCutAt(Buf, StrLength(Buf) - 4, NULL); } @@ -978,7 +971,6 @@ int migr_restore_message_metadata(long msgnum, int refcount) smi.meta_rfc822_length = StrLength(CCC->redirect_buffer); CCC->redirect_buffer = NULL; - syslog(LOG_INFO, "Setting message #%ld meta data to: refcount=%d, bodylength=%ld, content-type: %s", smi.meta_msgnum, @@ -994,6 +986,7 @@ int migr_restore_message_metadata(long msgnum, int refcount) return 0; } + void migr_check_room_msg(long msgnum, void *userdata) { fprintf(migr_global_message_list, "%ld %s\n", msgnum, CC->room.QRname); } @@ -1007,6 +1000,7 @@ void migr_check_rooms_backend(struct ctdlroom *buf, void *data) { CtdlForEachMessage(MSGS_ALL, 0L, NULL, NULL, NULL, migr_check_room_msg, NULL); } + void RemoveMessagesFromRooms(StrBuf *RoomNameVec, long msgnum) { struct MetaData smi; const char *Pos = NULL; @@ -1019,9 +1013,10 @@ void RemoveMessagesFromRooms(StrBuf *RoomNameVec, long msgnum) { CtdlDeleteMessages(ChrPtr(oneRoom), &msgnum, 1, ""); }; GetMetaData(&smi, msgnum); - TDAP_AdjRefCount(msgnum, -smi.meta_refcount); + AdjRefCount(msgnum, -smi.meta_refcount); } + void migr_do_restore_meta(void) { char buf[SIZ]; int failGetMessage; @@ -1069,14 +1064,16 @@ void migr_do_restore_meta(void) { } refcount = 1; lastnum = msgnum; - if (prn != NULL) + if (prn != NULL) { StrBufPlain(RoomNames, prn + 1, -1); + } StrBufTrim(RoomNames); } else { if (prn != NULL) { - if (StrLength(RoomNames) > 0) + if (StrLength(RoomNames) > 0) { StrBufAppendBufPlain(RoomNames, HKEY("|"), 0); + } StrBufAppendBufPlain(RoomNames, prn, -1, 1); StrBufTrim(RoomNames); } @@ -1097,8 +1094,6 @@ void migr_do_restore_meta(void) { } - - /****************************************************************************** * Dispatcher, Common code * ******************************************************************************/ @@ -1107,8 +1102,7 @@ void cmd_migr(char *cmdbuf) { if (CtdlAccessCheck(ac_internal)) return; - if (CtdlTrySingleUser()) - { + if (CtdlTrySingleUser()) { CtdlDisableHouseKeeping(); CtdlMakeTempFileName(migr_tempfilename1, sizeof migr_tempfilename1); CtdlMakeTempFileName(migr_tempfilename2, sizeof migr_tempfilename2); @@ -1136,12 +1130,12 @@ void cmd_migr(char *cmdbuf) { CtdlEnableHouseKeeping(); CtdlEndSingleUser(); } - else - { + else { cprintf("%d The migrator is already running.\n", ERROR + RESOURCE_BUSY); } } + /****************************************************************************** * Module Hook * ******************************************************************************/