# HG changeset patch # User Timo Sirainen # Date 1034628001 -10800 # Node ID a63ec8754d2eda85c512d9ccb87953f6a8506701 # Parent 9824d5df1843d802c47d8357adbd82b070c7a9c0 imap_envelope_parse() wasn't working diff -r 9824d5df1843 -r a63ec8754d2e src/lib-imap/imap-envelope.c --- a/src/lib-imap/imap-envelope.c Mon Oct 14 23:36:51 2002 +0300 +++ b/src/lib-imap/imap-envelope.c Mon Oct 14 23:40:01 2002 +0300 @@ -244,12 +244,14 @@ inbuf = i_buffer_create_from_data(data_stack_pool, envelope, len); parser = imap_parser_create(inbuf, NULL, len); - ret = imap_parser_read_args(parser, field, 0, &args); - if (ret < 0) + (void)i_buffer_read(inbuf); + ret = imap_parser_read_args(parser, field+1, 0, &args); + if (ret > (int)field) { + value = imap_envelope_parse_arg(&args[field], field, envelope); + } else { i_error("Error parsing IMAP envelope: %s", envelope); - - value = ret < (int)field ? NULL : - imap_envelope_parse_arg(&args[field], field, envelope); + value = NULL; + } imap_parser_destroy(parser); i_buffer_unref(inbuf);