]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-imap-storage, imap: imap_msgpart_url_parse() - Change to return only 0/-1
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 25 Jul 2022 16:26:47 +0000 (19:26 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 9 Aug 2022 13:16:17 +0000 (13:16 +0000)
It was previously never returning -1.

src/imap/cmd-append.c
src/lib-imap-storage/imap-msgpart-url.c
src/lib-imap-storage/imap-msgpart-url.h

index 60b93b424882dd4fd33b3e7bbdacd2b1e7156e30..92d43ba14484a3ca23d75abd92acd15c731d5c9b 100644 (file)
@@ -237,13 +237,8 @@ cmd_append_catenate_url(struct client_command_context *cmd, const char *caturl)
        if (ctx->failed)
                return -1;
 
-       ret = imap_msgpart_url_parse(cmd->client->user, cmd->client->mailbox,
-                                    caturl, &mpurl, &client_error);
-       if (ret < 0) {
-               client_send_box_error(cmd, ctx->box);
-               return -1;
-       }
-       if (ret == 0) {
+       if (imap_msgpart_url_parse(cmd->client->user, cmd->client->mailbox,
+                                  caturl, &mpurl, &client_error) < 0) {
                /* invalid url, abort */
                client_send_tagline(cmd,
                        t_strdup_printf("NO [BADURL %s] %s.",
index 74982ed1bd5d1036bb5b1b02fa439e502e2eff66..465c80f1adc7075fa1d51ae12fa154f4f662fd49 100644 (file)
@@ -88,16 +88,16 @@ int imap_msgpart_url_parse(struct mail_user *user, struct mailbox *selected_box,
        if (imap_url_parse(urlstr, &base_url,
                           IMAP_URL_PARSE_REQUIRE_RELATIVE, &url, &error) < 0) {
                *client_error_r = t_strconcat("Invalid IMAP URL: ", error, NULL);
-               return 0;
+               return -1;
        }
        if (url->mailbox == NULL) {
                *client_error_r = "Mailbox-relative IMAP URL, but no mailbox selected";
-               return 0;
+               return -1;
        }
        if (imap_msgpart_url_create(user, url, mpurl_r, client_error_r) < 0)
-               return 0;
+               return -1;
        (*mpurl_r)->selected_box = selected_box;
-       return 1;
+       return 0;
 }
 
 struct mailbox *imap_msgpart_url_get_mailbox(struct imap_msgpart_url *mpurl)
index 5bc72c2cb2d8bb0305da7f9a26c2f976e9ffb13e..1d88662d8a787486715d09cd36f6578a7210e2bc 100644 (file)
@@ -7,16 +7,17 @@ struct imap_url;
 struct imap_msgpart;
 struct imap_msgpart_url;
 
-/* Functions returning int return 1 on success, 0 if URL doesn't point to
-   valid mail, -1 on storage error. */
-
+/* Returns 0 = success, -1 = invalid URL */
 int imap_msgpart_url_create(struct mail_user *user, const struct imap_url *url,
                            struct imap_msgpart_url **url_r,
                            const char **client_error_r);
+/* Returns 0 = success, -1 = invalid URL */
 int imap_msgpart_url_parse(struct mail_user *user, struct mailbox *selected_box,
                           const char *urlstr, struct imap_msgpart_url **url_r,
                           const char **client_error_r);
 
+/* The following functions returning int return 1 on success, 0 if URL doesn't
+   point to valid mailbox/mail, -1 on storage error. */
 int imap_msgpart_url_open_mailbox(struct imap_msgpart_url *mpurl,
                                  struct mailbox **box_r, enum mail_error *error_code_r,
                                  const char **client_error_r);