summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/lsf.c2
-rw-r--r--include/mailutils/cpp/folder.h4
-rw-r--r--include/mailutils/folder.h9
-rw-r--r--libmailutils/mailbox/folder.c8
-rw-r--r--libmailutils/mailbox/fsfolder.c12
-rw-r--r--libmailutils/tests/fsfolder.c8
-rw-r--r--libmu_cpp/folder.cc8
-rw-r--r--libproto/imap/folder.c4
-rw-r--r--libproto/imap/genlist.c12
-rw-r--r--libproto/imap/tests/imapfolder.c2
-rw-r--r--libproto/nntp/folder.c2
-rw-r--r--mu/libexec/imap.c2
-rw-r--r--python/2/libmu_py/folder.c8
-rw-r--r--python/2/mailutils/folder.py4
-rw-r--r--python/3/libmu_py/folder.c10
-rw-r--r--python/3/mailutils/folder.py4
16 files changed, 50 insertions, 49 deletions
diff --git a/examples/lsf.c b/examples/lsf.c
index cba79d30c..c38689352 100644
--- a/examples/lsf.c
+++ b/examples/lsf.c
@@ -26,13 +26,13 @@ static int
26enumfun (mu_folder_t folder, struct mu_list_response *resp, void *data) 26enumfun (mu_folder_t folder, struct mu_list_response *resp, void *data)
27{ 27{
28 printf ("%c%c %c %4d %s\n", 28 printf ("%c%c %c %4d %s\n",
29 (resp->type & MU_FOLDER_ATTRIBUTE_DIRECTORY) ? 'd' : '-', 29 (resp->type & MU_FOLDER_ATTRIBUTE_DIRECTORY) ? 'd' : '-',
30 (resp->type & MU_FOLDER_ATTRIBUTE_FILE) ? 'f' : '-', 30 (resp->type & MU_FOLDER_ATTRIBUTE_FILE) ? 'f' : '-',
31 resp->separator, 31 resp->separator,
32 resp->level, 32 resp->depth,
33 resp->name); 33 resp->name);
34 return 0; 34 return 0;
35} 35}
36 36
37int 37int
38ls_folders (char *fname, char *ref, char *pattern, int level) 38ls_folders (char *fname, char *ref, char *pattern, int level)
diff --git a/include/mailutils/cpp/folder.h b/include/mailutils/cpp/folder.h
index fe4ed77c5..97c6d0fd4 100644
--- a/include/mailutils/cpp/folder.h
+++ b/include/mailutils/cpp/folder.h
@@ -40,15 +40,15 @@ class Folder
40 ~Folder (); 40 ~Folder ();
41 41
42 void open (); 42 void open ();
43 void open (int flag); 43 void open (int flag);
44 void close (); 44 void close ();
45 45
46 List& list (const std::string& dirname, void* pattern, size_t max_level); 46 List& list (const std::string& dirname, void* pattern, size_t max_depth);
47 List& enumerate (const std::string& name, void* pattern, 47 List& enumerate (const std::string& name, void* pattern,
48 int flags, size_t max_level, 48 int flags, size_t max_depth,
49 mu_folder_enumerate_fp enumfun, void* enumdata); 49 mu_folder_enumerate_fp enumfun, void* enumdata);
50 50
51 Url& get_url (); 51 Url& get_url ();
52}; 52};
53 53
54} 54}
diff --git a/include/mailutils/folder.h b/include/mailutils/folder.h
index 4ca4b92ee..ceb54dd62 100644
--- a/include/mailutils/folder.h
+++ b/include/mailutils/folder.h
@@ -24,15 +24,15 @@
24extern "C" { 24extern "C" {
25#endif 25#endif
26 26
27struct mu_list_response 27struct mu_list_response
28{ 28{
29 int type; /* MU_FOLDER_ATTRIBUTE_.* flags */ 29 int type; /* MU_FOLDER_ATTRIBUTE_.* flags */
30 int level; 30 int depth; /* Item depth within the hierarchy */
31 int separator; 31 int separator; /* Directory separator character */
32 char *name; 32 char *name; /* Item name */
33 mu_record_t format; /* Associated mailbox format record */ 33 mu_record_t format; /* Associated mailbox format record */
34}; 34};
35 35
36typedef int (*mu_folder_match_fp) (const char *, void *, int); 36typedef int (*mu_folder_match_fp) (const char *, void *, int);
37typedef int (*mu_folder_enumerate_fp) (mu_folder_t, struct mu_list_response *, 37typedef int (*mu_folder_enumerate_fp) (mu_folder_t, struct mu_list_response *,
38 void *data); 38 void *data);
@@ -63,13 +63,14 @@ extern int mu_folder_is_local (mu_folder_t folder);
63*/ 63*/
64struct mu_folder_scanner 64struct mu_folder_scanner
65{ 65{
66 char const *refname; /* Reference name */ 66 char const *refname; /* Reference name */
67 void *pattern; /* Matching pattern */ 67 void *pattern; /* Matching pattern */
68 int match_flags; /* Matching flags */ 68 int match_flags; /* Matching flags */
69 size_t max_level; /* Max. nesting level to descend */ 69 size_t max_depth; /* Max. depth to descend
70 (1-based, 0 means 'unlimited') */
70 mu_folder_enumerate_fp enumfun; /* Enumeration function */ 71 mu_folder_enumerate_fp enumfun; /* Enumeration function */
71 void *enumdata; /* Data for enumfun */ 72 void *enumdata; /* Data for enumfun */
72 mu_list_t records; /* List of allowed records */ 73 mu_list_t records; /* List of allowed records */
73 mu_list_t result; /* Result list */ 74 mu_list_t result; /* Result list */
74}; 75};
75 76
diff --git a/libmailutils/mailbox/folder.c b/libmailutils/mailbox/folder.c
index 8a474c8f6..d22bb3315 100644
--- a/libmailutils/mailbox/folder.c
+++ b/libmailutils/mailbox/folder.c
@@ -353,24 +353,24 @@ mu_folder_scan (mu_folder_t folder, struct mu_folder_scanner *scn)
353 mu_list_set_destroy_item (scn->result, mu_list_response_free); 353 mu_list_set_destroy_item (scn->result, mu_list_response_free);
354 return folder->_list (folder, scn); 354 return folder->_list (folder, scn);
355} 355}
356 356
357int 357int
358mu_folder_list (mu_folder_t folder, const char *dirname, void *pattern, 358mu_folder_list (mu_folder_t folder, const char *dirname, void *pattern,
359 size_t max_level, 359 size_t max_depth,
360 mu_list_t *pflist) 360 mu_list_t *pflist)
361{ 361{
362 return mu_folder_enumerate (folder, dirname, pattern, 362 return mu_folder_enumerate (folder, dirname, pattern,
363 MU_FOLDER_ATTRIBUTE_ALL, max_level, 363 MU_FOLDER_ATTRIBUTE_ALL, max_depth,
364 pflist, NULL, NULL); 364 pflist, NULL, NULL);
365} 365}
366 366
367int 367int
368mu_folder_enumerate (mu_folder_t folder, const char *name, 368mu_folder_enumerate (mu_folder_t folder, const char *name,
369 void *pattern, int flags, 369 void *pattern, int flags,
370 size_t max_level, 370 size_t max_depth,
371 mu_list_t *pflist, 371 mu_list_t *pflist,
372 mu_folder_enumerate_fp enumfun, void *enumdata) 372 mu_folder_enumerate_fp enumfun, void *enumdata)
373{ 373{
374 int status; 374 int status;
375 if (folder == NULL || (!pflist && !enumfun)) 375 if (folder == NULL || (!pflist && !enumfun))
376 return EINVAL; 376 return EINVAL;
@@ -380,13 +380,13 @@ mu_folder_enumerate (mu_folder_t folder, const char *name,
380 { 380 {
381 struct mu_folder_scanner scn; 381 struct mu_folder_scanner scn;
382 382
383 scn.refname = name; 383 scn.refname = name;
384 scn.pattern = pattern; 384 scn.pattern = pattern;
385 scn.match_flags = flags; 385 scn.match_flags = flags;
386 scn.max_level = max_level; 386 scn.max_depth = max_depth;
387 scn.enumfun = enumfun; 387 scn.enumfun = enumfun;
388 scn.enumdata = enumdata; 388 scn.enumdata = enumdata;
389 scn.records = NULL; 389 scn.records = NULL;
390 if (pflist) 390 if (pflist)
391 { 391 {
392 status = mu_list_create (&scn.result); 392 status = mu_list_create (&scn.result);
diff --git a/libmailutils/mailbox/fsfolder.c b/libmailutils/mailbox/fsfolder.c
index 553c9fddf..4afdbd6e9 100644
--- a/libmailutils/mailbox/fsfolder.c
+++ b/libmailutils/mailbox/fsfolder.c
@@ -291,19 +291,19 @@ best_match (mu_list_t records, char const *refname,
291} 291}
292 292
293static int 293static int
294list_helper (struct mu_folder_scanner *scn, 294list_helper (struct mu_folder_scanner *scn,
295 struct folder_scan_data *data, 295 struct folder_scan_data *data,
296 struct inode_list *ilist, 296 struct inode_list *ilist,
297 const char *dirname, size_t level) 297 const char *dirname, size_t depth)
298{ 298{
299 DIR *dirp; 299 DIR *dirp;
300 struct dirent *dp; 300 struct dirent *dp;
301 int stop = 0; 301 int stop = 0;
302 302
303 if (scn->max_level && level >= scn->max_level) 303 if (scn->max_depth && depth >= scn->max_depth)
304 return 0; 304 return 0;
305 305
306 dirp = opendir (dirname); 306 dirp = opendir (dirname);
307 if (dirp == NULL) 307 if (dirp == NULL)
308 { 308 {
309 mu_debug (MU_DEBCAT_FOLDER, MU_DEBUG_ERROR, 309 mu_debug (MU_DEBCAT_FOLDER, MU_DEBUG_ERROR,
@@ -374,13 +374,13 @@ list_helper (struct mu_folder_scanner *scn,
374 if (f == MU_FOLDER_ATTRIBUTE_DIRECTORY) 374 if (f == MU_FOLDER_ATTRIBUTE_DIRECTORY)
375 type = f; 375 type = f;
376 } 376 }
377 else 377 else
378 { 378 {
379 resp->name = fname; 379 resp->name = fname;
380 resp->level = level; 380 resp->depth = depth;
381 resp->separator = '/';