#ifndef MUTT_LIB_LIB_FILE_H
#define MUTT_LIB_LIB_FILE_H
-#include <stdio.h>
-#include <stdlib.h>
-
/****************************************************************************/
/* fd ops */
/****************************************************************************/
FILE *safe_fopen(const char *, const char *);
int mutt_rename_file(char *, char *);
-int safe_fclose(FILE **);
+
+static inline int m_fclose(FILE **f) {
+ if (*f) {
+ int res = fclose(*f);
+ *f = NULL;
+ return res;
+ }
+ return 0;
+}
char *mutt_read_line(char *, ssize_t *, FILE *, int *);
void mutt_sanitize_filename(char *, short);
ssize_t mutt_quote_filename(char *, ssize_t, const char *);
+/* replace any %s with src, or appends " $src" */
+ssize_t m_file_fmt(char *dst, ssize_t n, const char *fmt, const char *src);
+int m_tempfd(char *dst, ssize_t n, const char *dir, const char *fmt);
+FILE *m_tempfile(char *dst, ssize_t n, const char *dir, const char *fmt);
+
#endif /* MUTT_LIB_LIB_FILE_H */