changeset 13913:7c39b94ded90

lib-lda: Make lmtp_client_state_to_string() more verbose.
author Timo Sirainen <tss@iki.fi>
date Mon, 09 Jan 2012 20:31:53 +0200
parents f562bcaca215
children 32f61c8498a4
files src/lib-lda/lmtp-client.c
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-lda/lmtp-client.c	Mon Jan 09 16:35:22 2012 +0200
+++ b/src/lib-lda/lmtp-client.c	Mon Jan 09 20:31:53 2012 +0200
@@ -153,6 +153,8 @@
 
 const char *lmtp_client_state_to_string(struct lmtp_client *client)
 {
+	uoff_t size;
+
 	switch (client->input_state) {
 	case LMTP_INPUT_STATE_GREET:
 		return "greeting";
@@ -163,9 +165,18 @@
 	case LMTP_INPUT_STATE_RCPT_TO:
 		return "RCPT TO";
 	case LMTP_INPUT_STATE_DATA_CONTINUE:
-		return "DATA";
+		return "DATA init";
 	case LMTP_INPUT_STATE_DATA:
-		return "end-of-DATA";
+		if (client->output_finished)
+			return "DATA reply";
+		else if (i_stream_get_size(client->data_input, FALSE, &size) > 0) {
+			return t_strdup_printf(
+				"DATA (%"PRIuUOFF_T"/%"PRIuUOFF_T")",
+				client->data_input->v_offset, size);
+		} else {
+			return t_strdup_printf("DATA (%"PRIuUOFF_T"/?)",
+					       client->data_input->v_offset);
+		}
 	}
 	return "??";
 }