From: Timo Sirainen Date: Mon, 24 Apr 2017 11:04:01 +0000 (+0300) Subject: lib-imap: Make imap_bodystructure_parse_args() public X-Git-Tag: 2.3.0.rc1~1707 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a8e6df07f5101f6f7467dbd861dbdddfb2759370;p=thirdparty%2Fdovecot%2Fcore.git lib-imap: Make imap_bodystructure_parse_args() public --- diff --git a/src/lib-imap/imap-bodystructure.c b/src/lib-imap/imap-bodystructure.c index 9c03aa1cb8..b4fd64a8ae 100644 --- a/src/lib-imap/imap-bodystructure.c +++ b/src/lib-imap/imap-bodystructure.c @@ -351,7 +351,7 @@ imap_bodystructure_parse_args_common(struct message_part *part, return 0; } -static int +int imap_bodystructure_parse_args(const struct imap_arg *args, pool_t pool, struct message_part **_part, const char **error_r) diff --git a/src/lib-imap/imap-bodystructure.h b/src/lib-imap/imap-bodystructure.h index f622561f7b..7b1390b40a 100644 --- a/src/lib-imap/imap-bodystructure.h +++ b/src/lib-imap/imap-bodystructure.h @@ -3,6 +3,7 @@ struct message_part; struct message_header_line; +struct imap_arg; /* Write a BODY/BODYSTRUCTURE from given message_part. The message_part->data field must be set. part->body_size.virtual_size and .lines are also used @@ -17,6 +18,11 @@ void imap_bodystructure_write(const struct message_part *part, int imap_bodystructure_parse_full(const char *bodystructure, pool_t pool, struct message_part **parts, const char **error_r); +/* Same as imap_bodystructure_parse_full(), but read the input from imap_args + instead of a string. */ +int imap_bodystructure_parse_args(const struct imap_arg *args, pool_t pool, + struct message_part **parts, const char **error_r); + /* Parse BODYSTRUCTURE and save the contents to message_part->data for each message tree node. The parts argument must point to an existing message_part tree. Returns 0 if ok, -1 if bodystructure wasn't valid. */