dovecot-1.2-sieve: Added boolean settings parser.
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Sun Jan 24 23:01:20 EET 2010
details: http://hg.rename-it.nl/dovecot-1.2-sieve/rev/e52f337d6c8b
changeset: 1224:e52f337d6c8b
user: Stephan Bosch <stephan at rename-it.nl>
date: Sun Jan 24 22:01:07 2010 +0100
description:
Added boolean settings parser.
diffstat:
src/lib-sieve/sieve-settings.c | 27 +++++++++++++++++++++++++++
src/lib-sieve/sieve-settings.h | 17 +++++++++--------
2 files changed, 36 insertions(+), 8 deletions(-)
diffs (63 lines):
diff -r 84df9c49fe2d -r e52f337d6c8b src/lib-sieve/sieve-settings.c
--- a/src/lib-sieve/sieve-settings.c Sun Jan 24 11:35:40 2010 +0100
+++ b/src/lib-sieve/sieve-settings.c Sun Jan 24 22:01:07 2010 +0100
@@ -102,3 +102,30 @@
return TRUE;
}
+
+bool sieve_setting_get_bool_value
+(struct sieve_instance *svinst, const char *setting,
+ bool *value_r)
+{
+ const char *str_value;
+ char *endp;
+
+ str_value = sieve_setting_get(svinst, setting);
+
+ if ( str_value == NULL || *str_value == '\0' )
+ return FALSE;
+
+ if ( strcasecmp(str_value, "yes" ) == 0) {
+ *value_r = TRUE;
+ return TRUE;
+ }
+
+ if ( strcasecmp(str_value, "no" ) == 0) {
+ *value_r = FALSE;
+ return TRUE;
+ }
+
+ sieve_sys_warning("invalid boolean value for setting '%s': '%s'",
+ setting, str_value);
+ return FALSE;
+}
diff -r 84df9c49fe2d -r e52f337d6c8b src/lib-sieve/sieve-settings.h
--- a/src/lib-sieve/sieve-settings.h Sun Jan 24 11:35:40 2010 +0100
+++ b/src/lib-sieve/sieve-settings.h Sun Jan 24 22:01:07 2010 +0100
@@ -22,16 +22,17 @@
}
bool sieve_setting_get_uint_value
-(struct sieve_instance *svinst, const char *setting,
- unsigned long long int *value_r);
-
+ (struct sieve_instance *svinst, const char *setting,
+ unsigned long long int *value_r);
bool sieve_setting_get_int_value
-(struct sieve_instance *svinst, const char *setting,
- long long int *value_r);
-
+ (struct sieve_instance *svinst, const char *setting,
+ long long int *value_r);
bool sieve_setting_get_size_value
-(struct sieve_instance *svinst, const char *setting,
- size_t *value_r);
+ (struct sieve_instance *svinst, const char *setting,
+ size_t *value_r);
+bool sieve_setting_get_bool_value
+ (struct sieve_instance *svinst, const char *setting,
+ bool *value_r);
/*
* Home directory
More information about the dovecot-cvs
mailing list