dovecot-2.0: Added settings_parse_is_changed().

dovecot at dovecot.org dovecot at dovecot.org
Fri Mar 19 20:56:26 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/48f6353e2226
changeset: 10958:48f6353e2226
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Mar 19 20:55:22 2010 +0200
description:
Added settings_parse_is_changed().

diffstat:

 src/lib-settings/settings-parser.c |  16 ++++++++++++++++
 src/lib-settings/settings-parser.h |   3 +++
 2 files changed, 19 insertions(+), 0 deletions(-)

diffs (39 lines):

diff -r 5798fdd4ad70 -r 48f6353e2226 src/lib-settings/settings-parser.c
--- a/src/lib-settings/settings-parser.c	Fri Mar 19 20:43:20 2010 +0200
+++ b/src/lib-settings/settings-parser.c	Fri Mar 19 20:55:22 2010 +0200
@@ -728,6 +728,22 @@
 	return STRUCT_MEMBER_P(link->set_struct, def->offset);
 }
 
+bool settings_parse_is_changed(struct setting_parser_context *ctx,
+			       const char *key)
+{
+	const struct setting_define *def;
+	struct setting_link *link;
+	const unsigned char *p;
+
+	if (!settings_find_key(ctx, key, &def, &link))
+		return NULL;
+	if (link->change_struct == NULL)
+		return FALSE;
+
+	p = STRUCT_MEMBER_P(link->change_struct, def->offset);
+	return *p;
+}
+
 int settings_parse_line(struct setting_parser_context *ctx, const char *line)
 {
 	const char *key, *value;
diff -r 5798fdd4ad70 -r 48f6353e2226 src/lib-settings/settings-parser.h
--- a/src/lib-settings/settings-parser.h	Fri Mar 19 20:43:20 2010 +0200
+++ b/src/lib-settings/settings-parser.h	Fri Mar 19 20:55:22 2010 +0200
@@ -128,6 +128,9 @@
 const void *
 settings_parse_get_value(struct setting_parser_context *ctx,
 			 const char *key, enum setting_type *type_r);
+/* Returns TRUE if setting has been changed by this parser. */
+bool settings_parse_is_changed(struct setting_parser_context *ctx,
+			       const char *key);
 /* Parse a single line. Returns 1 if OK, 0 if key is unknown, -1 if error. */
 int settings_parse_line(struct setting_parser_context *ctx, const char *line);
 /* Parse data already read in input stream. */


More information about the dovecot-cvs mailing list