Mercurial > dovecot > core-2.2
changeset 19742:b6804ea019a6
lib-storage: Added missing %{userdb:*:default} handling
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 10 Feb 2016 19:08:11 +0200 |
parents | 7b9c6dd8e41d |
children | 26c805d628f8 |
files | src/lib-storage/mail-storage-service.c |
diffstat | 1 files changed, 16 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/mail-storage-service.c Wed Feb 10 19:06:14 2016 +0200 +++ b/src/lib-storage/mail-storage-service.c Wed Feb 10 19:08:11 2016 +0200 @@ -725,14 +725,27 @@ i_set_failure_prefix("%s", ctx->default_log_prefix); } +static const char *field_get_default(const char *data) +{ + const char *p; + + p = strchr(data, ':'); + if (p == NULL) + return ""; + else { + /* default value given */ + return p+1; + } +} + const char *mail_storage_service_fields_var_expand(const char *data, const char *const *fields) { - const char *field_name = data; + const char *field_name = t_strcut(data, ':'); unsigned int i, field_name_len; if (fields == NULL) - return NULL; + return field_get_default(data); field_name_len = strlen(field_name); for (i = 0; fields[i] != NULL; i++) { @@ -740,7 +753,7 @@ fields[i][field_name_len] == '=') return fields[i] + field_name_len+1; } - return NULL; + return field_get_default(data); } static const char *