* please see the file GPL in the top level source directory.
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <ctype.h>
-#include <sys/wait.h>
-#include <sys/stat.h>
-
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
+#include <lib-lib/lib-lib.h>
+
+#include <utime.h>
#include <lib-ui/curses.h>
-#include "mutt.h"
-#include "handler.h"
#include "state.h"
-#include "lib.h"
+#include "rfc3676.h"
#define FLOWED_MAX 77
*curline='\0';
/* respect DelSP of RfC3676 only with f=f parts */
- if ((t = (char*) mutt_get_parameter ("delsp", a->parameter))) {
+ if ((t = parameter_getval(a->parameter, "delsp"))) {
delsp = m_strlen(t) == 3 && ascii_strncasecmp (t, "yes", 3) == 0;
t = NULL;
}
return (0);
}
+/* sets mtime of 'to' to mtime of 'from' */
+static void mutt_set_mtime (const char* from, const char* to) {
+ struct utimbuf utim;
+ struct stat st;
+
+ if (stat (from, &st) != -1) {
+ utim.actime = st.st_mtime;
+ utim.modtime = st.st_mtime;
+ utime (to, &utim);
+ }
+}
+
void rfc3676_space_stuff (HEADER* hdr) {
FILE* in = NULL, *out = NULL;
char buf[LONG_STRING];
- char tmpfile[_POSIX_PATH_MAX];
+ char tmpf[_POSIX_PATH_MAX];
if (!hdr || !hdr->content || !hdr->content->filename)
return;
if ((in = safe_fopen (hdr->content->filename, "r")) == NULL)
return;
- mutt_mktemp (tmpfile);
- if ((out = safe_fopen (tmpfile, "w+")) == NULL) {
+ mutt_mktemp (tmpf);
+ if ((out = safe_fopen (tmpf, "w+")) == NULL) {
fclose (in);
return;
}
while (fgets (buf, sizeof (buf), in)) {
- if (ascii_strncmp ("From ", buf, 4) == 0 || buf[0] == ' ') {
+ if (m_strncmp("From ", buf, 4) == 0 || buf[0] == ' ') {
fputc (' ', out);
}
fputs (buf, out);
}
fclose (in);
fclose (out);
- mutt_set_mtime (hdr->content->filename, tmpfile);
+ mutt_set_mtime (hdr->content->filename, tmpf);
unlink (hdr->content->filename);
- m_strreplace(&hdr->content->filename, tmpfile);
+ m_strreplace(&hdr->content->filename, tmpf);
}