pike.git / lib / modules / Protocols.pmod / IMAP.pmod / parse_line.pike

version» Context lines:

pike.git/lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike:319:    if (!strlen(buffer) || (buffer[0] != '['))    {    res->raw = atom;    return res;    }       /* Parse options */    string option_start = buffer;       array options = do_parse_simple_list(max_depth - 1, ']'); +  +  if (strlen(buffer) && buffer[0] == ']') { +  buffer = buffer[1..]; +  } +     if (!options) {    res->options = ({ ([ "type":"atom", "atom":"" ]) });    return res;    }       res->options = options;    res->raw = option_start[..sizeof(option_start) - sizeof(buffer) - 1];    -  +     if (!strlen(buffer) || (buffer[0] != '<'))    return res;       /* Parse <start.size> suffix */    buffer = buffer[1..];       int start = get_number();    if ((start < 0) || !strlen(buffer) || (buffer[0] != '.'))    return 0;