[balsa/64-save-empty-attachment: 1/2] body: implement libbalsa_message_body_length()
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/64-save-empty-attachment: 1/2] body: implement libbalsa_message_body_length()
- Date: Mon, 17 Jan 2022 22:24:56 +0000 (UTC)
commit 9c8a93fc1fca44f931bacc789d72eee3441a315c
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Mon Jan 17 17:20:48 2022 -0500
body: implement libbalsa_message_body_length()
libbalsa/body.c | 26 ++++++++++++++++++++++++++
libbalsa/body.h | 2 ++
2 files changed, 28 insertions(+)
---
diff --git a/libbalsa/body.c b/libbalsa/body.c
index d2c732305..2d8433dbb 100644
--- a/libbalsa/body.c
+++ b/libbalsa/body.c
@@ -779,6 +779,32 @@ libbalsa_message_body_save_stream(LibBalsaMessageBody * body,
return len >= 0;
}
+/*
+ * libbalsa_message_body_length
+ *
+ * Return the length of the body part, or -1 on error
+ */
+gint64
+libbalsa_message_body_length(LibBalsaMessageBody * body, GError **err)
+{
+ GMimeStream *body_stream;
+ gint64 len = -1;
+
+ g_return_val_if_fail(body != NULL, len);
+
+ body_stream = libbalsa_message_body_get_stream(body, err);
+ if (body_stream != NULL) {
+ GMimeStream *null_stream;
+
+ null_stream = g_mime_stream_null_new();
+ len = g_mime_stream_write_to_stream(body_stream, null_stream);
+ g_object_unref(null_stream);
+ g_object_unref(body_stream);
+ }
+
+ return len;
+}
+
gchar *
libbalsa_message_body_get_mime_type(LibBalsaMessageBody * body)
{
diff --git a/libbalsa/body.h b/libbalsa/body.h
index 08098aa28..0c4cb8289 100644
--- a/libbalsa/body.h
+++ b/libbalsa/body.h
@@ -107,6 +107,8 @@ gboolean libbalsa_message_body_save_stream(LibBalsaMessageBody * body,
GMimeStream * dest,
gboolean filter_crlf,
GError **err);
+gint64 libbalsa_message_body_length(LibBalsaMessageBody * body,
+ GError **err);
gboolean libbalsa_message_body_save(LibBalsaMessageBody * body,
const gchar * filename, mode_t mode,
gboolean filter_crlf, GError **err);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]