# include "config.h"
#endif
-#include "mutt.h"
-#ifdef USE_IMAP
-#include "mx.h"
-#include "imap.h"
-#endif
-#ifdef USE_NNTP
-#include "nntp.h"
-#endif
-
-#include <lib-lib/str.h>
-#include <lib-lib/file.h>
-#include "lib/debug.h"
-
#include <dirent.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
+#include <lib-lib/str.h>
+#include <lib-lib/file.h>
+
+#include "mutt.h"
+#include "mx.h"
+#include <imap/imap.h>
+#ifdef USE_NNTP
+#include "nntp.h"
+#endif
+
/* given a partial pathname, this routine fills in as much of the rest of the
* path as is unique.
*
* return 0 if ok, -1 if no matches
*/
-int mutt_complete (char *s, size_t slen)
+int mutt_complete (char *s, ssize_t slen)
{
char *p;
DIR *dirp = NULL;
struct dirent *de;
int i, init = 0;
- size_t len;
+ ssize_t len;
char dirpart[_POSIX_PATH_MAX], exp_dirpart[_POSIX_PATH_MAX];
char filepart[_POSIX_PATH_MAX];
-#ifdef USE_IMAP
char imap_path[LONG_STRING];
-#endif
-
- debug_print (2, ("completing %s\n", s));
#ifdef USE_NNTP
if (option (OPTNEWS)) {
- LIST *l = CurrentNewsSrv->list;
+ string_list_t *l = CurrentNewsSrv->list;
m_strcpy(filepart, sizeof(filepart), s);
}
#endif
-#ifdef USE_IMAP
/* we can use '/' as a delimiter, imap_complete rewrites it */
if (*s == '=' || *s == '+' || *s == '!') {
const char *q = NONULL(*s == '!' ? Spoolfile : Maildir);
if (mx_get_magic (imap_path) == M_IMAP)
return imap_complete (s, slen, imap_path);
-#endif
if (*s == '=' || *s == '+' || *s == '!') {
dirpart[0] = *s;
}
else {
*p = 0;
- len = (size_t) (p - s);
+ len = p - s;
memcpy(dirpart, s, len);
dirpart[len] = 0;
p++;
}
if (dirp == NULL) {
- debug_print (1, ("%s: %s (errno %d).\n", exp_dirpart, strerror (errno), errno));
return (-1);
}