X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Ffile.h;h=1b242c31204b60d950c66ca23c9396ded382c834;hp=2b735511db69fb9c1d47b0c2642ab859630e778f;hb=8336b26fc23c7943bf6681ba2c290bb5cd2c54b8;hpb=ac813896ca32d850febc2d95065ac4fa040f11f9 diff --git a/lib-lib/file.h b/lib-lib/file.h index 2b73551..1b242c3 100644 --- a/lib-lib/file.h +++ b/lib-lib/file.h @@ -33,9 +33,6 @@ #ifndef MUTT_LIB_LIB_FILE_H #define MUTT_LIB_LIB_FILE_H -#include -#include - /****************************************************************************/ /* fd ops */ /****************************************************************************/ @@ -50,7 +47,16 @@ void mutt_unlink(const char *); /****************************************************************************/ FILE *safe_fopen(const char *, const char *); -int safe_fclose(FILE **); +int mutt_rename_file(char *, char *); + +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 *); @@ -58,7 +64,7 @@ int mutt_copy_stream(FILE *, FILE *); int mutt_copy_bytes(FILE *, FILE *, ssize_t); /****************************************************************************/ -/* ligben-like funcs */ +/* path manipulations */ /****************************************************************************/ const char *mutt_basename(const char *); @@ -67,4 +73,17 @@ char *mutt_concat_path(char *, ssize_t, const char *, const char *); 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); +ssize_t m_quotefile_fmt(char *, ssize_t, const char *, const char *); + +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); + +/****************************************************************************/ +/* misc */ +/****************************************************************************/ + +time_t m_decrease_mtime(const char *f, struct stat *st); + #endif /* MUTT_LIB_LIB_FILE_H */