[Commits] [SCM] claws branch, quota-info, updated. 4.3.1-36-ge014192ed

miras at claws-mail.org miras at claws-mail.org
Fri Mar 7 22:40:51 UTC 2025


The branch, quota-info has been updated
       via  e014192ed300de5393c67c3b78ee655edc2f75e9 (commit)
      from  7118a2e7463897dd87266e17b8e83565fc4d08b4 (commit)

Summary of changes:
 src/imap.c | 20 +++++++++++++++++---
 src/imap.h |  2 +-
 2 files changed, 18 insertions(+), 4 deletions(-)


- Log -----------------------------------------------------------------
commit e014192ed300de5393c67c3b78ee655edc2f75e9
Author: Michael Rasmussen <mir at datanom.net>
Date:   Fri Mar 7 23:40:45 2025 +0100

    Display quota
    
    Signed-off-by: Michael Rasmussen <mir at datanom.net>

diff --git a/src/imap.c b/src/imap.c
index c4a58be1f..bc83dea99 100644
--- a/src/imap.c
+++ b/src/imap.c
@@ -3849,7 +3849,7 @@ static void imap_delete_all_cached_messages(FolderItem *item)
 	debug_print("Deleting all cached messages done.\n");
 }
 
-gint imap_folder_quotaroot(Folder *folder, guint *usage, guint *limit)
+gint imap_folder_quotaroot(Folder *folder, uint32_t *usage, uint32_t *limit)
 {
 	IMAPSession *session = NULL;
 	struct mailimap_quota_complete_data *quota_data = NULL;
@@ -3857,12 +3857,14 @@ gint imap_folder_quotaroot(Folder *folder, guint *usage, guint *limit)
 	clistiter *cur_res;
 	int result;
 
+	debug_set_mode(TRUE);
 	session = imap_session_get(FOLDER(folder));
-
+/*
 	if (imap_has_capability(session, "QUOTA") == FALSE) {
+		debug_print("Missing 'QUOTA'\n");
 		return MAILIMAP_ERROR_CAPABILITY;
 	}
-
+*/
 	result = imap_threaded_quotaroot(session->folder, &quota_data);
 
 	if (result != MAILIMAP_NO_ERROR) {
@@ -3881,6 +3883,7 @@ gint imap_folder_quotaroot(Folder *folder, guint *usage, guint *limit)
 		}
 	}
 	mailimap_quota_complete_data_free(quota_data);
+	debug_set_mode(false);
 	return MAILIMAP_NO_ERROR;
 }
 
@@ -4231,6 +4234,17 @@ static gint imap_status(IMAPSession *session, IMAPFolder *folder,
 		}
 	}
 	mailimap_mailbox_data_status_free(data_status);
+
+	uint32_t size;
+	uint32_t limit;
+	debug_set_mode(TRUE);
+	int err = imap_folder_quotaroot(FOLDER(folder), &size, &limit);
+	if (MAILIMAP_NO_ERROR == err) {
+		g_printf("%s: Used size: %u Quota: %u\n", FOLDER(folder)->name, size, limit);
+	} else {
+		g_print("Error getting quota status\n");
+	}
+	debug_set_mode(FALSE);
 	
 	if (got_values != mask) {
 		g_warning("status: incomplete values received (%d)", got_values);
diff --git a/src/imap.h b/src/imap.h
index ac2a92517..5f40ad3bf 100644
--- a/src/imap.h
+++ b/src/imap.h
@@ -43,7 +43,7 @@ FolderClass *imap_get_class		(void);
 guint imap_folder_get_refcnt(Folder *folder);
 void imap_folder_ref(Folder *folder);
 void imap_folder_unref(Folder *folder);
-gint imap_folder_quotaroot(Folder *folder, guint *usage, guint *limit);
+gint imap_folder_quotaroot(Folder *folder, uint32_t *usage, uint32_t *limit);
 gchar imap_get_path_separator_for_item	(FolderItem *item);
 void imap_disconnect_all(gboolean have_connectivity);
 gint imap_subscribe(Folder *folder, FolderItem *item, gchar *rpath, gboolean sub);

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list