diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c index 5198e81363d66b587e5416060da468a2e6640c28..9dd728bbb7663078e07b1ce9c04c6143a9be35a1 100644 --- a/src/lib-sieve-tool/sieve-tool.c +++ b/src/lib-sieve-tool/sieve-tool.c @@ -137,7 +137,8 @@ int sieve_tool_getopt(struct sieve_tool *tool) tool->sieve_extensions = i_strdup(optarg); break; case 'u': - tool->username = i_strdup(optarg); + if ( tool->username == NULL ) + tool->username = i_strdup(optarg); break; case 'P': /* Plugin */ @@ -383,6 +384,9 @@ void sieve_tool_set_setting_callback const char *sieve_tool_get_username (struct sieve_tool *tool) { + if ( tool->username == NULL ) + return getenv("USER"); + return tool->username; }