X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Ffile.h;h=f2efefd7555357af8b90d01f1c39ebb4c02e5fa8;hp=2f168e3710262ffe4a7d04f7942cc330c70dc0d6;hb=26a1babec6628dff14e428def9cff4e92a4ef7c8;hpb=ae0ce4dfcafa0c3820f107c5bfa8bd06e5272b57 diff --git a/lib-lib/file.h b/lib-lib/file.h index 2f168e3..f2efefd 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,21 +47,45 @@ 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 *, size_t *, FILE *, int *); +char *mutt_read_line(char *, ssize_t *, FILE *, int *); int mutt_copy_stream(FILE *, FILE *); -int mutt_copy_bytes(FILE *, FILE *, size_t); +int mutt_copy_bytes(FILE *, FILE *, ssize_t); /****************************************************************************/ -/* ligben-like funcs */ +/* path manipulations */ /****************************************************************************/ const char *mutt_basename(const char *); +ssize_t m_dirname(char *, ssize_t, const char *); + 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 */