degesch: simplify check_server_name_for_addition()

This commit is contained in:
Přemysl Eric Janouch 2015-07-14 07:29:30 +02:00
parent c573435996
commit 855a9d81ba
1 changed files with 11 additions and 13 deletions

View File

@ -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);