ctdldump: export room records
authorArt Cancro <ajc@citadel.org>
Tue, 11 Jul 2023 13:23:04 +0000 (04:23 -0900)
committerArt Cancro <ajc@citadel.org>
Tue, 11 Jul 2023 13:23:04 +0000 (04:23 -0900)
citadel/utils/ctdldump.c

index 1f623b4258c08888c525bb7bea900fb1a14eec03..d3a3aa83a3949b65cc85e971293ffbc0e5a9d55f 100644 (file)
@@ -186,45 +186,36 @@ void export_user(int which_cdb, DBT *in_key, DBT *in_data) {
                user->lastproc_inboxrules       // msgnum of last message filtered
        );
 }
-#if 0
 
 
 // convert function for a room record
-void export_rooms(int which_cdb, DBT *in_key, DBT *in_data, DBT *out_key, DBT *out_data) {
-
-       // The key is a string so we can just copy it over
-       out_key->size = in_key->size;
-       out_key->data = realloc(out_key->data, out_key->size);
-       memcpy(out_key->data, in_key->data, in_key->size);
-
-       // data
-       struct ctdlroom_32 *room32 = (struct ctdlroom_32 *)in_data->data;
-       out_data->size = sizeof(struct ctdlroom);
-       out_data->data = realloc(out_data->data, out_data->size);
-       struct ctdlroom *room64 = (struct ctdlroom *)out_data->data;
-
-       strcpy(room64->QRname,                          room32->QRname);
-       strcpy(room64->QRpasswd,                        room32->QRpasswd);
-       room64->QRroomaide              = (long)        room32->QRroomaide;
-       room64->QRhighest               = (long)        room32->QRhighest;
-       room64->QRgen                   = (time_t)      room32->QRgen;
-       room64->QRflags                 = (unsigned)    room32->QRflags;
-       strcpy(room64->QRdirname,                       room32->QRdirname);
-       room64->msgnum_info             = (long)        room32->msgnum_info;
-       room64->QRfloor                 = (char)        room32->QRfloor;
-       room64->QRmtime                 = (time_t)      room32->QRmtime;
-       room64->QRep.expire_mode        = (int)         room32->QRep.expire_mode;
-       room64->QRep.expire_value       = (int)         room32->QRep.expire_value;
-       room64->QRnumber                = (long)        room32->QRnumber;
-       room64->QRorder                 = (char)        room32->QRorder;
-       room64->QRflags2                = (unsigned)    room32->QRflags2;
-       room64->QRdefaultview           = (int)         room32->QRdefaultview;
-       room64->msgnum_pic              = (long)        room32->msgnum_pic;
-
-       // printf("\033[32m\033[1mRoom: %s\033[0m\n", room64->QRname);
+void export_room(int which_cdb, DBT *in_key, DBT *in_data) {
+
+       struct ctdlroom *room = (struct ctdlroom *)in_data->data;
+
+       printf("room|%s|%s|%ld|%ld|%ld|%u|%s|%ld|%d|%ld|%d|%d|%ld|%d|%u|%d|%ld\n",
+               room->QRname,
+               room->QRpasswd,
+               room->QRroomaide,
+               room->QRhighest,
+               room->QRgen,
+               room->QRflags,
+               room->QRdirname,
+               room->msgnum_info,
+               room->QRfloor,
+               room->QRmtime,
+               room->QRep.expire_mode,
+               room->QRep.expire_value,
+               room->QRnumber,
+               room->QRorder,
+               room->QRflags2,
+               room->QRdefaultview,
+               room->msgnum_pic
+       );
 }
 
 
+#if 0
 // convert function for a floor record
 void export_floors(int which_cdb, DBT *in_key, DBT *in_data, DBT *out_key, DBT *out_data) {
 
@@ -494,7 +485,7 @@ void zero_function(int which_cdb, DBT *in_key, DBT *in_data) {
 void (*export_functions[])(int which_cdb, DBT *in_key, DBT *in_data) = {
        export_msgmain,         // CDB_MSGMAIN
        export_user,            // CDB_USERS
-       zero_function,          // CDB_ROOMS
+       export_room,            // CDB_ROOMS
        zero_function,          // CDB_FLOORTAB
        zero_function,          // CDB_MSGLISTS
        zero_function,          // CDB_VISIT