/* Copyright (C) 2020 C. McEnroe * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "archive.h" int mboxFrom(FILE *file) { int n = fprintf(file, "From mboxrd@z Thu Jan 1 00:00:00 1970\n"); return (n < 0 ? n : 0); } int mboxHeader(FILE *file, char *header) { for (char *crlf; (crlf = strstr(header, "\r\n")); header = &crlf[2]) { *crlf = '\0'; int n = fprintf(file, "%s\n", header); if (n < 0) return n; } return 0; } int mboxBody(FILE *file, char *body) { int n; for (char *crlf; (crlf = strstr(body, "\r\n")); body = &crlf[2]) { *crlf = '\0'; char *from = body; while (*from == '>') from++; if (!strncmp(from, "From ", 5)) { n = fprintf(file, ">%s\n", body); } else { n = fprintf(file, "%s\n", body); } if (n < 0) return n; } n = fprintf(file, "\n"); return (n < 0 ? n : 0); }