X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Ffile.c;h=5e379967b61e4713bad2e81768b01bc97b50ae51;hp=946d86725533c443cc32a5a906c06d850b816ff1;hb=26a1babec6628dff14e428def9cff4e92a4ef7c8;hpb=024fe257a96f97619e236bbdafe57b63101eb17f diff --git a/lib-lib/file.c b/lib-lib/file.c index 946d867..5e37996 100644 --- a/lib-lib/file.c +++ b/lib-lib/file.c @@ -364,6 +364,26 @@ const char *mutt_basename(const char *f) return p ? p + 1 : f; } +ssize_t m_dirname(char *dst, ssize_t dlen, const char *path) +{ + int plen = m_strlen(path); + + while (plen > 0 && path[plen - 1] == '/') + plen--; + + while (plen > 0 && path[plen - 1] != '/') + plen--; + + while (plen > 0 && path[plen - 1] == '/') + plen--; + + if (plen) + return m_strncpy(dst, dlen, path, plen); + + if (*path == '/') + return m_strcpy(dst, dlen, "/"); + return m_strcpy(dst, dlen, "."); +} char * mutt_concat_path(char *d, ssize_t n, const char *dir, const char *fname)