CVS commit by ossi:
aggregate all (two ...) drivers in an array instead of naming them in
each (one ...) location explicitly.
M +14 -12 config.c 1.31
M +3 -0 isync.h 1.56
--- isync/src/config.c #1.30:1.31
@@ -33,4 +33,6 @@
#include <stdio.h>
+driver_t *drivers[N_DRIVERS] = { &maildir_driver, &imap_driver };
+
store_conf_t *stores;
channel_conf_t *channels;
@@ -257,5 +259,5 @@ load_config( const char *where, int pseu
string_list_t *chanlist, **chanlistapp;
char *arg, *p;
- int err, len, cops, gcops, max_size, ms;
+ int err, len, cops, gcops, max_size, ms, i;
char path[_POSIX_PATH_MAX];
char buf[1024];
@@ -284,7 +286,6 @@ load_config( const char *where, int pseu
if (!cfile.cmd)
continue;
- if (imap_driver.parse_store( &cfile, &store, &err ) ||
- maildir_driver.parse_store( &cfile, &store, &err ))
- {
+ for (i = 0; i < N_DRIVERS; i++)
+ if (drivers[i]->parse_store( &cfile, &store, &err )) {
if (store) {
if (!store->path)
@@ -294,6 +295,7 @@ load_config( const char *where, int pseu
*storeapp = 0;
}
+ goto reloop;
}
- else if (!strcasecmp( "Channel", cfile.cmd ))
+ if (!strcasecmp( "Channel", cfile.cmd ))
{
channel = nfcalloc( sizeof(*channel) );
--- isync/src/isync.h #1.55:1.56
@@ -250,4 +250,7 @@ int sync_boxes( store_t *ctx[], const ch
/* config.c */
+#define N_DRIVERS 2
+extern driver_t *drivers[N_DRIVERS];
+
extern channel_conf_t *channels;
extern group_conf_t *groups;
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
isync-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/isync-devel