*count = holder.num;
*mailbox_list = (email_internal_mailbox_t*) holder.data;
- ret = true;
+
+ EM_DEBUG_LOG("count: [%d], mailbox_list[%p]", *count, *mailbox_list);
+ if (*count <= 0 || *mailbox_list == NULL) {
+ err = EMAIL_ERROR_MAILBOX_NOT_FOUND;
+ ret = false;
+ } else {
+ ret = true;
+
+ /* checking once more if there is a INBOX or not */
+ int i = 0;
+ bool is_found_inbox = false;
+ for (i = 0; i < *count; i++) {
+ if ((*mailbox_list)[i].mailbox_type == EMAIL_MAILBOX_TYPE_INBOX || !g_ascii_strcasecmp((*mailbox_list)[i].mailbox_name, "INBOX")) {
+ is_found_inbox = true;
+ break;
+ }
+ }
+ if (!is_found_inbox) {
+ EM_DEBUG_CRITICAL_EXCEPTION("There is no INBOX!");
+ err = EMAIL_ERROR_MAILBOX_NOT_FOUND;
+ ret = false;
+ }
+ }
FINISH_OFF:
if (err_code)
quota_t callback_for_get_quota_root(MAILSTREAM *stream, unsigned char *mailbox, STRINGLIST *quota_root_list)
{
EM_DEBUG_FUNC_BEGIN();
- quota_t ret_quota;
+ quota_t ret_quota = NIL;
EM_DEBUG_FUNC_END();
return ret_quota;
}
quota_t callback_for_get_quota(MAILSTREAM *stream, unsigned char *quota_root, QUOTALIST *quota_list)
{
EM_DEBUG_FUNC_BEGIN();
- quota_t ret_quota;
+ quota_t ret_quota = NIL;
EM_DEBUG_FUNC_END();
return ret_quota;
}