diff options
-rw-r--r-- | examples/lsf.c | 2 | ||||
-rw-r--r-- | include/mailutils/cpp/folder.h | 4 | ||||
-rw-r--r-- | include/mailutils/folder.h | 9 | ||||
-rw-r--r-- | libmailutils/mailbox/folder.c | 8 | ||||
-rw-r--r-- | libmailutils/mailbox/fsfolder.c | 12 | ||||
-rw-r--r-- | libmailutils/tests/fsfolder.c | 8 | ||||
-rw-r--r-- | libmu_cpp/folder.cc | 8 | ||||
-rw-r--r-- | libproto/imap/folder.c | 4 | ||||
-rw-r--r-- | libproto/imap/genlist.c | 12 | ||||
-rw-r--r-- | libproto/imap/tests/imapfolder.c | 2 | ||||
-rw-r--r-- | libproto/nntp/folder.c | 2 | ||||
-rw-r--r-- | mu/libexec/imap.c | 2 | ||||
-rw-r--r-- | python/2/libmu_py/folder.c | 8 | ||||
-rw-r--r-- | python/2/mailutils/folder.py | 4 | ||||
-rw-r--r-- | python/3/libmu_py/folder.c | 10 | ||||
-rw-r--r-- | python/3/mailutils/folder.py | 4 |
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 | |||
26 | enumfun (mu_folder_t folder, struct mu_list_response *resp, void *data) | 26 | enumfun (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 | ||
37 | int | 37 | int |
38 | ls_folders (char *fname, char *ref, char *pattern, int level) | 38 | ls_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 @@ | |||
24 | extern "C" { | 24 | extern "C" { |
25 | #endif | 25 | #endif |
26 | 26 | ||
27 | struct mu_list_response | 27 | struct 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 | ||
36 | typedef int (*mu_folder_match_fp) (const char *, void *, int); | 36 | typedef int (*mu_folder_match_fp) (const char *, void *, int); |
37 | typedef int (*mu_folder_enumerate_fp) (mu_folder_t, struct mu_list_response *, | 37 | typedef 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 | */ |
64 | struct mu_folder_scanner | 64 | struct 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 | ||
357 | int | 357 | int |
358 | mu_folder_list (mu_folder_t folder, const char *dirname, void *pattern, | 358 | mu_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 | ||
367 | int | 367 | int |
368 | mu_folder_enumerate (mu_folder_t folder, const char *name, | 368 | mu_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 | ||
293 | static int | 293 | static int |
294 | list_helper (struct mu_folder_scanner *scn, | 294 | list_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 = '/'; |