+ else if (!strncasecmp(buf, "part=", 5)) {
+ if (attachments == NULL) {
+ attachments = NewJsonArray(HKEY("part"));
+ }
+ JsonValue *part = NewJsonObject(HKEY(""));
+ char tokbuf[1024];
+ extract_token(tokbuf, &buf[5], 0, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("name"), tokbuf, -1));
+ extract_token(tokbuf, &buf[5], 1, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("filename"), tokbuf, -1));
+ extract_token(tokbuf, &buf[5], 2, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("partnum"), tokbuf, -1));
+ extract_token(tokbuf, &buf[5], 3, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("disp"), tokbuf, -1));
+ extract_token(tokbuf, &buf[5], 4, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("type"), tokbuf, -1));
+ JsonObjectAppend(part, NewJsonNumber(HKEY("len"), extract_long(&buf[5], 5)));
+ extract_token(tokbuf, &buf[5], 6, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("id"), tokbuf, -1));
+ extract_token(tokbuf, &buf[5], 7, '|', sizeof tokbuf);
+ JsonObjectAppend(part, NewJsonPlainString(HKEY("charset"), tokbuf, -1));
+ JsonArrayAppend(attachments, part);
+ }