dovecot-2.0-sslstream: config: Added support for "octal integer"...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:57:23 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/443927a546e2
changeset: 10555:443927a546e2
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Jan 19 14:39:24 2010 +0200
description:
config: Added support for "octal integer", which is just printed as octal.

diffstat:

3 files changed, 17 insertions(+), 2 deletions(-)
src/config/config-request.c        |   13 +++++++++++--
src/lib-settings/settings-parser.c |    5 +++++
src/lib-settings/settings-parser.h |    1 +

diffs (79 lines):

diff -r b8966b8133f2 -r 443927a546e2 src/config/config-request.c
--- a/src/config/config-request.c	Mon Jan 18 10:55:55 2010 +0200
+++ b/src/config/config-request.c	Tue Jan 19 14:39:24 2010 +0200
@@ -137,10 +137,19 @@ settings_export(struct settings_export_c
 			break;
 		}
 		case SET_UINT:
+		case SET_UINT_OCT:
 		case SET_TIME: {
 			const unsigned int *val = value, *dval = default_value;
-			if (dump_default || dval == NULL || *val != *dval)
-				str_printfa(ctx->value, "%u", *val);
+			if (dump_default || dval == NULL || *val != *dval) {
+				switch (def->type) {
+				case SET_UINT_OCT:
+					str_printfa(ctx->value, "0%o", *val);
+					break;
+				default:
+					str_printfa(ctx->value, "%u", *val);
+					break;
+				}
+			}
 			break;
 		}
 		case SET_STR_VARS: {
diff -r b8966b8133f2 -r 443927a546e2 src/lib-settings/settings-parser.c
--- a/src/lib-settings/settings-parser.c	Mon Jan 18 10:55:55 2010 +0200
+++ b/src/lib-settings/settings-parser.c	Tue Jan 19 14:39:24 2010 +0200
@@ -551,6 +551,7 @@ settings_parse(struct setting_parser_con
 			return -1;
 		break;
 	case SET_UINT:
+	case SET_UINT_OCT:
 		if (get_uint(ctx, value, (unsigned int *)ptr) < 0)
 			return -1;
 		break;
@@ -1023,6 +1024,7 @@ settings_var_expand_info(const struct se
 		switch (def->type) {
 		case SET_BOOL:
 		case SET_UINT:
+		case SET_UINT_OCT:
 		case SET_TIME:
 		case SET_SIZE:
 		case SET_STR:
@@ -1095,6 +1097,7 @@ bool settings_vars_have_key(const struct
 		switch (def->type) {
 		case SET_BOOL:
 		case SET_UINT:
+		case SET_UINT_OCT:
 		case SET_TIME:
 		case SET_SIZE:
 		case SET_STR:
@@ -1166,6 +1169,7 @@ setting_copy(enum setting_type type, con
 		break;
 	}
 	case SET_UINT:
+	case SET_UINT_OCT:
 	case SET_TIME: {
 		const unsigned int *src_uint = src;
 		unsigned int *dest_uint = dest;
@@ -1276,6 +1280,7 @@ settings_changes_dup(const struct settin
 		switch (def->type) {
 		case SET_BOOL:
 		case SET_UINT:
+		case SET_UINT_OCT:
 		case SET_TIME:
 		case SET_SIZE:
 		case SET_STR_VARS:
diff -r b8966b8133f2 -r 443927a546e2 src/lib-settings/settings-parser.h
--- a/src/lib-settings/settings-parser.h	Mon Jan 18 10:55:55 2010 +0200
+++ b/src/lib-settings/settings-parser.h	Tue Jan 19 14:39:24 2010 +0200
@@ -19,6 +19,7 @@ enum setting_type {
 enum setting_type {
 	SET_BOOL,
 	SET_UINT,
+	SET_UINT_OCT,
 	SET_TIME,
 	SET_SIZE,
 	SET_STR,


More information about the dovecot-cvs mailing list