diff options
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 24 |
1 files changed, 11 insertions, 13 deletions
@@ -6491,21 +6491,16 @@ validate_server_name (const char *name) return true; } -static bool +static const char * check_server_name_for_addition (struct app_context *ctx, const char *name) { if (!strcasecmp_ascii (name, ctx->global_buffer->name)) - log_global_error (ctx, "Cannot create server `#s': #s", - name, "name collides with the global buffer"); - else if (str_map_find (&ctx->servers, name)) - log_global_error (ctx, "Cannot create server `#s': #s", - name, "server already exists"); - else if (!validate_server_name (name)) - log_global_error (ctx, "Cannot create server `#s': #s", - name, "invalid server name"); - else - return true; - return false; + return "name collides with the global buffer"; + if (str_map_find (&ctx->servers, name)) + return "server already exists"; + if (!validate_server_name (name)) + return "invalid server name"; + return NULL; } static struct server * @@ -7511,7 +7506,10 @@ handle_server_add (struct handler_args *a) struct app_context *ctx = a->ctx; char *name = cut_word (&a->arguments); - if (check_server_name_for_addition (ctx, name)) + const char *err; + if ((err = check_server_name_for_addition (ctx, name))) + log_global_error (ctx, "Cannot create server `#s': #s", name, err); + else { server_add_new (ctx, name); log_global_status (ctx, "Server added: #s", name); |