From 33de7000c5ec76e33bd78be8e643930a3d200fdb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Mon, 25 Jun 2007 21:53:00 +0000 Subject: [PATCH] * if a message subject is required, ask the user for it before opening the editor. --- citadel/client_chat.c | 2 +- citadel/messages.c | 20 +++++++++++++------- citadel/messages.h | 13 +++++++------ 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/citadel/client_chat.c b/citadel/client_chat.c index c1cc8f44f..08eff91d8 100644 --- a/citadel/client_chat.c +++ b/citadel/client_chat.c @@ -256,7 +256,7 @@ void page_user(CtdlIPC *ipc) scr_printf("%s\n", &buf[4]); return; } - if (client_make_message(ipc, temp, touser, 0, 0, 0, NULL) != 0) { + if (client_make_message(ipc, temp, touser, 0, 0, 0, NULL, 0) != 0) { scr_printf("No message sent.\n"); return; } diff --git a/citadel/messages.c b/citadel/messages.c index 3dd851db2..7faebcec0 100644 --- a/citadel/messages.c +++ b/citadel/messages.c @@ -806,12 +806,13 @@ void replace_string(char *filename, long int startpos) * Function to begin composing a new message */ int client_make_message(CtdlIPC *ipc, - char *filename, /* temporary file name */ - char *recipient, /* NULL if it's not mail */ - int is_anonymous, - int format_type, - int mode, - char *subject) /* buffer to store subject line */ + char *filename, /* temporary file name */ + char *recipient, /* NULL if it's not mail */ + int is_anonymous, + int format_type, + int mode, + char *subject, /* buffer to store subject line */ + int subject_required) { FILE *fp; int a, b, e_ex_code; @@ -856,6 +857,11 @@ int client_make_message(CtdlIPC *ipc, if (subject != NULL) if (strlen(subject) > 0) { scr_printf("Subject: %s\n", subject); } + + if (subject_required) { + scr_printf("Internet mail recommends a subject.\n"); + newprompt("Subject: ", subject, 70); + } beg = 0L; @@ -1229,7 +1235,7 @@ int entmsg(CtdlIPC *ipc, /* Now compose the message... */ if (client_make_message(ipc, temp, message.recipient, - message.anonymous, 0, c, message.subject) != 0) { + message.anonymous, 0, c, message.subject, subject_required) != 0) { if (msgarr) free(msgarr); return (2); } diff --git a/citadel/messages.h b/citadel/messages.h index ce5c4a64c..5b3e230f0 100644 --- a/citadel/messages.h +++ b/citadel/messages.h @@ -12,12 +12,13 @@ pid_t ka_wait(int *kstatus); void list_urls(CtdlIPC *ipc); void check_message_base(CtdlIPC *ipc); int client_make_message(CtdlIPC *ipc, - char *filename, /* temporary file name */ - char *recipient, /* NULL if it's not mail */ - int anon_type, /* see MES_ types in header file */ - int format_type, - int mode, - char *subject); + char *filename, /* temporary file name */ + char *recipient, /* NULL if it's not mail */ + int anon_type, /* see MES_ types in header file */ + int format_type, + int mode, + char *subject, + int subject_required); void citedit(CtdlIPC *ipc, FILE *); char *load_message_from_file(FILE *src); int file_checksum(char *filename); -- 2.39.2