summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--export.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/export.c b/export.c
index ab77587..fb26e74 100644
--- a/export.c
+++ b/export.c
@@ -120,16 +120,17 @@ static void exportAtom(
 	if (error) err(EX_IOERR, "%s", path);
 
 	const struct BodyPart *part = structure;
-	if (bodyPartType(part, "multipart", "mixed")) {
-		part = &part->parts.ptr[0];
-		body = dataCheck(body, List).list.ptr[0];
-	}
-	if (bodyPartType(part, "multipart", "alternative")) {
-		for (size_t i = part->parts.len - 1; i < part->parts.len; --i) {
-			if (!isInline(&part->parts.ptr[i])) continue;
-			part = &part->parts.ptr[i];
-			body = dataCheck(body, List).list.ptr[i];
-			break;
+	while (part->multipart) {
+		if (bodyPartType(part, "multipart", "alternative")) {
+			for (size_t i = part->parts.len - 1; i < part->parts.len; --i) {
+				if (!isInline(&part->parts.ptr[i])) continue;
+				part = &part->parts.ptr[i];
+				body = dataCheck(body, List).list.ptr[i];
+				break;
+			}
+		} else {
+			part = &part->parts.ptr[0];
+			body = dataCheck(body, List).list.ptr[0];
 		}
 	}
 	if (isInline(part)) {
pan='3' class='logmsg'> Oops. 2020-05-21Fix dbPrepare errx callJune McEnroe 2020-05-21Add only the necessary expressions to scoop's queryJune McEnroe This makes the queries generally faster and capable of taking advantage of any indexes that get created. 2020-05-21Explicitly set stdout line buffered when pagingJune McEnroe 2020-05-21Do not sort results in scoop by defaultJune McEnroe The -s flag now enables sorting (-g and -l also imply it), while the -S flag now launches the sqlite3 shell. Avoiding sorting by default is much faster and less memory-intensive as it doesn't require loading the entire result set into memory at once. 2020-05-21Expand and clarify documentationJune McEnroe 2020-05-21Execute PAGER with the SHELLJune McEnroe Same as how git executes it. Allows flags to be set in PAGER. 2020-05-21Automatically perform database migrations in litterboxJune McEnroe To simplify upgrades, restarting litterbox should be sufficient. The database can still be explicitly migrated with -m. 2020-05-20Don't install rc scripts on other platformsJune McEnroe Oops, meant to do this in the last commit. 2020-05-20Rewrite build and install like pounce 1.3June McEnroe man pages are no longer compressed! 2020-05-20Update email addressesJune McEnroe 2020-04-23Call updateConsumer from handleError 1.2p1June McEnroe This should prevent continually crashing on the same ERROR in the pounce buffer. 2020-04-20Use . as ${LDLIBS.$@} separatorJune McEnroe 2020-04-05Error on invalid ISUPPORT values 1.2June McEnroe 2020-04-05Only set RCS on FreeBSDJune McEnroe 2020-04-05Log bans and unbansJune McEnroe 2020-04-05Parse mode types from ISUPPORTJune McEnroe 2020-04-05Add unscoop matchers for ban/unban eventsJune McEnroe The IRC and Textual matchers miss bans mixed with other mode changes, but those are rare. 2020-04-05Check unscoop regexps with make testJune McEnroe 2020-04-05Add unscoop -n flag for checking regexpsJune McEnroe 2020-04-05Add Ban and Unban event typesJune McEnroe 2020-04-02Update styleJune McEnroe Replacing declarations followed by while loops with for loops and generating the short option string from the long options. 2020-03-31Update unscoop catgirl matchersJune McEnroe I'm not concerned about keeping the old matchers since I'm almost entirely certain I was the only one who ever used the old version of catgirl, and I already imported those logs. 2020-03-31Fix writing verbose to stderrJune McEnroe 2020-03-02Include <>/-/* around nicks in scoop coloring 1.1June McEnroe 2020-03-02Replace .mk files with configure scriptJune McEnroe 2020-02-28Implement the causal.agency/consumer capabilityJune McEnroe 2020-02-22Include <>/-/* around nicks in coloringJune McEnroe 2020-02-22Use (almost) the full range of IRC colors for nicksJune McEnroe