void export_msgmain(int which_cdb, DBT *in_key, DBT *in_data) {
long in_msgnum;
- if (in_key->size != sizeof(long)) {
- fprintf(stderr, "\033[31m\033[1m *** BAD DATA *** ABORTING *** \033[0m\n");
- abort();
- }
-
memcpy(&in_msgnum, in_key->data, sizeof(in_msgnum));
// If the msgnum is negative, we are looking at METADATA
if (in_msgnum < 0) {
struct MetaData *meta = (struct MetaData *)in_data->data;
- printf("msgmeta|%ld|%d|%s|%ld\n",
+ printf("msgmeta|%ld|%d|%s|%ld|\n",
meta->meta_msgnum,
meta->meta_refcount,
meta->meta_content_type,
// If the msgnum is positive, we are looking at a MESSAGE
else if (in_msgnum > 0) {
- printf("msgtext|%ld|%s\n", in_msgnum, hexout(in_data->data, in_data->size));
+ printf("msgtext|%ld|%s|\n", in_msgnum, hexout(in_data->data, in_data->size));
}
// If the msgnum is 0 it's probably not a valid record.
struct ctdluser *user = (struct ctdluser *)in_data->data;
- printf("user|%d|%d|%s|%u|%d|%ld|%ld|%d|%s|%ld|%ld|%s|%ld|%ld\n",
+ printf("user|%d|%d|%s|%u|%d|%ld|%ld|%d|%s|%ld|%ld|%s|%ld|%ld|\n",
user->version,
user->uid,
user->password,
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",
+ 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,
struct floor *floor = (struct floor *)in_data->data;
- printf("floor|%d|%u|%s|%d|%d|%d\n",
+ printf("floor|%d|%u|%s|%d|%d|%d|\n",
floor_num,
floor->f_flags,
floor->f_name,
printf("%ld", msg);
}
}
- printf("\n");
+ printf("|\n");
}
// export function for a visit record
void export_visit(int which_cdb, DBT *in_key, DBT *in_data) {
struct visit *visit = (struct visit *)in_data->data;
- printf("visit|%ld|%ld|%ld|%ld|%u|%s|%s|%d\n",
+ printf("visit|%ld|%ld|%ld|%ld|%u|%s|%s|%d|\n",
visit->v_roomnum,
visit->v_roomgen,
visit->v_usernum,
void export_dir(int which_cdb, DBT *in_key, DBT *in_data) {
printf("dir|");
fwrite(in_key->data, in_key->size, 1, stdout);
- printf("|%s\n", (char *)in_data->data);
+ printf("|%s|\n", (char *)in_data->data);
}
// export function for a use table record
void export_usetable(int which_cdb, DBT *in_key, DBT *in_data) {
struct UseTable *u = (struct UseTable *)in_data->data;
- printf("use|%d|%ld\n", u->hash, u->timestamp);
+ printf("use|%d|%ld|\n", u->hash, u->timestamp);
}
long msgnum;
memcpy(&msgnum, in_key->data, sizeof(msgnum));
- printf("bigmsg|%ld|%s\n", msgnum, hexout(in_data->data, in_data->size));
+ printf("bigmsg|%ld|%s|\n", msgnum, hexout(in_data->data, in_data->size));
}
memcpy(&roomnum, in_data->data+sizeof(long), sizeof(msgnum));
euid = in_data->data+(sizeof(long)*2);
- printf("euidindex|%ld|%ld|%s\n", msgnum, roomnum, euid);
+ printf("euidindex|%ld|%ld|%s|\n", msgnum, roomnum, euid);
}
-#if 0
// export users-by-number records
// (This is a secondary index -- should we just regenerate the data after import?)
-void export_usersbynumber(int which_cdb, DBT *in_key, DBT *in_data, DBT *out_key, DBT *out_data) {
+void export_usersbynumber(int which_cdb, DBT *in_key, DBT *in_data) {
// key is a long
- // and remember ... "long" is int32_t on the source system
- int32_t in_usernum;
- long out_usernum;
- memcpy(&in_usernum, in_key->data, sizeof(in_usernum));
- out_usernum = (long) in_usernum;
-
- if (in_key->size != 4) {
- fprintf(stderr, "\033[31m\033[1m *** SOURCE DATABASE IS NOT 32-BIT *** ABORTING *** \033[0m\n");
- abort();
- }
-
- out_key->size = sizeof(out_usernum);
- out_key->data = realloc(out_key->data, out_key->size);
- memcpy(out_key->data, &out_usernum, sizeof(out_usernum));
+ long usernum;
+ memcpy(&usernum, in_key->data, sizeof(usernum));
// value is a string
- out_data->size = in_data->size;
- out_data->data = realloc(out_data->data, out_data->size);
- memcpy(out_data->data, in_data->data, in_data->size);
-
- // printf("usersbynumber: %ld --> %s\n", out_usernum, (char *)out_data->data);
+ printf("usersbynumber|%ld|%s|\n", usernum, (char *)in_data->data);
}
-#endif
#if 0
export_bigmsg, // CDB_BIGMSGS
zero_function, // CDB_FULLTEXT (regenerate this on the server)
export_euidindex, // CDB_EUIDINDEX
- zero_function, // CDB_USERSBYNUMBER
+ export_usersbynumber, // CDB_USERSBYNUMBER
zero_function, // CDB_UNUSED1 (obsolete)
zero_function // CDB_CONFIG
};