- // TODO: make it so you can specify fields to output
- // note that date and time are separated by a space, to match postgres's
- // timestamp format
- printf("%s\t%s\t%s\t%s %s\t%s\t%s\t%s\t%s",
- (data->title != NULL) ? data->title : "",
- (data->articleid != NULL) ? data->articleid : "",
- (data->revid != NULL) ? data->revid : "",
- (data->date != NULL) ? data->date : "",
- (data->time != NULL) ? data->time : "",
- (data->editor != NULL) ? "0" : "1",
- (data->editor != NULL) ? data->editor : "",
- (data->editorid != NULL) ? data->editorid : "",
- (data->minor) ? "1" : "0");
- switch (data->output_type)
- {
- case SIMPLE:
- printf("\t%i\n", (unsigned int) strlen(data->text));
- break;
- case FULL:
- printf("\t%s\t%s\n", data->comment, data->text);
- break;
+ // get md5sum
+ md5_state_t state;
+ md5_byte_t digest[16];
+ char md5_hex_output[2 * 16 + 1];
+ md5_init(&state);
+ md5_append(&state, (const md5_byte_t *)data->text, data->text_size);
+ md5_finish(&state, digest);
+ int di;
+ for (di = 0; di < 16; ++di) {
+ sprintf(md5_hex_output + di * 2, "%02x", digest[di]);