From 19cf8feb09c1552f9e2ce2e762a81e57a5cd3c1a Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Mon, 3 Jun 2002 12:37:54 +0000 Subject: [PATCH] Added thread evaluation SVN revision: 71 --- elconv.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 110 insertions(+), 8 deletions(-) diff --git a/elconv.c b/elconv.c index 70a6be1d..3b2cd0cd 100644 --- a/elconv.c +++ b/elconv.c @@ -6,6 +6,9 @@ Contents: Conversion program for ELOG messages $Log$ + Revision 1.2 2002/06/03 12:37:54 midas + Added thread evaluation + Revision 1.1 2002/05/29 10:22:46 midas Initial revision @@ -92,6 +95,13 @@ char attr_list[MAX_N_ATTR][NAME_LENGTH]; char data_dir[256]; int verbose; +typedef struct { + char v1_tag[16]; + int message_id; + char in_reply_to[16]; + char reply[16]; +} THREAD; + /*---- Funcions from the MIDAS library -----------------------------*/ BOOL equal_ustring(char *str1, char *str2) @@ -952,14 +962,17 @@ char str[256]; /*------------------------------------------------------------------*/ -void scan_message() +void scan_messages() { -int size, status, fh, message_id; -char file_name[256], tag[256], str[256]; -char message[TEXT_SIZE+1000]; +int size, status, fh, message_id, i, n, n_messages; +char file_name[256], tag[256], str[256]; +char message[TEXT_SIZE+1000]; +char *ps, *pd, *file_list; +THREAD *thread_list; tag[0] = 0; message_id = 1; + thread_list = malloc(sizeof(THREAD)); /* search first message */ status = el_search_message(tag, NULL, TRUE, TRUE); @@ -970,6 +983,66 @@ char message[TEXT_SIZE+1000]; return; } + /* delete previous files */ + file_list = NULL; + getcwd(str, sizeof(str)); + n = ss_file_find(str, "??????a.log", &file_list); + for (i=0 ; i %s, ID %d\n", tag, str, message_id); + fh = open(file_name, O_CREAT | O_RDWR | O_BINARY, 0644); if (fh < 0) { @@ -998,6 +1071,35 @@ char message[TEXT_SIZE+1000]; sprintf(str, "$@MID@$: %d\n", message_id); write(fh, str, strlen(str)); + /* write reply-to and in-reply-to */ + if (atoi(thread_list[message_id-1].reply) > 0) + { + /* search id for reply */ + for (i=0 ; i 0) + { + /* search id for reply */ + for (i=0 ; i