use config_get_positive() instead of manual parsing
Simplify some code by using config_get_positive(), instead of doing manual parsing and validation each time.
This commit is contained in:
parent
f11eb14c8a
commit
2362ee4a48
69
src/client.c
69
src/client.c
@ -59,11 +59,9 @@ static const char GREETING[] = "OK MPD " PROTOCOL_VERSION "\n";
|
|||||||
|
|
||||||
/* set this to zero to indicate we have no possible clients */
|
/* set this to zero to indicate we have no possible clients */
|
||||||
static unsigned int client_max_connections; /*CLIENT_MAX_CONNECTIONS_DEFAULT; */
|
static unsigned int client_max_connections; /*CLIENT_MAX_CONNECTIONS_DEFAULT; */
|
||||||
static int client_timeout = CLIENT_TIMEOUT_DEFAULT;
|
static int client_timeout;
|
||||||
static size_t client_max_command_list_size =
|
static size_t client_max_command_list_size;
|
||||||
CLIENT_MAX_COMMAND_LIST_DEFAULT;
|
static size_t client_max_output_buffer_size;
|
||||||
static size_t client_max_output_buffer_size =
|
|
||||||
CLIENT_MAX_OUTPUT_BUFFER_SIZE_DEFAULT;
|
|
||||||
|
|
||||||
struct deferred_buffer {
|
struct deferred_buffer {
|
||||||
size_t size;
|
size_t size;
|
||||||
@ -553,55 +551,20 @@ client_out_event(G_GNUC_UNUSED GIOChannel *source,
|
|||||||
|
|
||||||
void client_manager_init(void)
|
void client_manager_init(void)
|
||||||
{
|
{
|
||||||
char *test;
|
client_timeout = config_get_positive(CONF_CONN_TIMEOUT,
|
||||||
struct config_param *param;
|
CLIENT_TIMEOUT_DEFAULT);
|
||||||
|
client_max_connections =
|
||||||
|
config_get_positive(CONF_MAX_CONN,
|
||||||
|
CLIENT_MAX_CONNECTIONS_DEFAULT);
|
||||||
|
client_max_command_list_size =
|
||||||
|
config_get_positive(CONF_MAX_COMMAND_LIST_SIZE,
|
||||||
|
CLIENT_MAX_COMMAND_LIST_DEFAULT / 1024)
|
||||||
|
* 1024;
|
||||||
|
|
||||||
param = config_get_param(CONF_CONN_TIMEOUT);
|
client_max_output_buffer_size =
|
||||||
|
config_get_positive(CONF_MAX_OUTPUT_BUFFER_SIZE,
|
||||||
if (param) {
|
CLIENT_MAX_OUTPUT_BUFFER_SIZE_DEFAULT / 1024)
|
||||||
client_timeout = strtol(param->value, &test, 10);
|
* 1024;
|
||||||
if (*test != '\0' || client_timeout <= 0) {
|
|
||||||
g_error("connection timeout \"%s\" is not a positive "
|
|
||||||
"integer, line %i",
|
|
||||||
CONF_CONN_TIMEOUT, param->line);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
param = config_get_param(CONF_MAX_CONN);
|
|
||||||
|
|
||||||
if (param) {
|
|
||||||
client_max_connections = strtol(param->value, &test, 10);
|
|
||||||
if (*test != '\0' || client_max_connections <= 0) {
|
|
||||||
g_error("max connections \"%s\" is not a positive integer"
|
|
||||||
", line %i",
|
|
||||||
param->value, param->line);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
client_max_connections = CLIENT_MAX_CONNECTIONS_DEFAULT;
|
|
||||||
|
|
||||||
param = config_get_param(CONF_MAX_COMMAND_LIST_SIZE);
|
|
||||||
|
|
||||||
if (param) {
|
|
||||||
long tmp = strtol(param->value, &test, 10);
|
|
||||||
if (*test != '\0' || tmp <= 0) {
|
|
||||||
g_error("max command list size \"%s\" is not a positive "
|
|
||||||
"integer, line %i",
|
|
||||||
param->value, param->line);
|
|
||||||
}
|
|
||||||
client_max_command_list_size = tmp * 1024;
|
|
||||||
}
|
|
||||||
|
|
||||||
param = config_get_param(CONF_MAX_OUTPUT_BUFFER_SIZE);
|
|
||||||
|
|
||||||
if (param) {
|
|
||||||
long tmp = strtol(param->value, &test, 10);
|
|
||||||
if (*test != '\0' || tmp <= 0) {
|
|
||||||
g_error("max output buffer size \"%s\" is not a positive "
|
|
||||||
"integer, line %i",
|
|
||||||
param->value, param->line);
|
|
||||||
}
|
|
||||||
client_max_output_buffer_size = tmp * 1024;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void client_close_all(void)
|
static void client_close_all(void)
|
||||||
|
16
src/listen.c
16
src/listen.c
@ -253,23 +253,9 @@ parseListenConfigParam(G_GNUC_UNUSED unsigned int port,
|
|||||||
|
|
||||||
void listenOnPort(void)
|
void listenOnPort(void)
|
||||||
{
|
{
|
||||||
int port = DEFAULT_PORT;
|
int port = config_get_positive(CONF_PORT, DEFAULT_PORT);
|
||||||
struct config_param *param =
|
struct config_param *param =
|
||||||
config_get_next_param(CONF_BIND_TO_ADDRESS, NULL);
|
config_get_next_param(CONF_BIND_TO_ADDRESS, NULL);
|
||||||
struct config_param *portParam = config_get_param(CONF_PORT);
|
|
||||||
|
|
||||||
if (portParam) {
|
|
||||||
char *test;
|
|
||||||
port = strtol(portParam->value, &test, 10);
|
|
||||||
if (port <= 0 || *test != '\0') {
|
|
||||||
g_error("%s \"%s\" specified at line %i is not a "
|
|
||||||
"positive integer",
|
|
||||||
CONF_PORT,
|
|
||||||
portParam->value, portParam->line);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
boundPort = port;
|
|
||||||
|
|
||||||
do {
|
do {
|
||||||
parseListenConfigParam(port, param);
|
parseListenConfigParam(port, param);
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
static GRand *g_rand;
|
static GRand *g_rand;
|
||||||
static Playlist playlist;
|
static Playlist playlist;
|
||||||
static int playlist_state = PLAYLIST_STATE_STOP;
|
static int playlist_state = PLAYLIST_STATE_STOP;
|
||||||
unsigned playlist_max_length = DEFAULT_PLAYLIST_MAX_LENGTH;
|
unsigned playlist_max_length;
|
||||||
static int playlist_stopOnError;
|
static int playlist_stopOnError;
|
||||||
static unsigned playlist_errorCount;
|
static unsigned playlist_errorCount;
|
||||||
static int playlist_noGoToNext;
|
static int playlist_noGoToNext;
|
||||||
@ -135,9 +135,6 @@ playlist_tag_event(void)
|
|||||||
|
|
||||||
void initPlaylist(void)
|
void initPlaylist(void)
|
||||||
{
|
{
|
||||||
char *test;
|
|
||||||
struct config_param *param;
|
|
||||||
|
|
||||||
g_rand = g_rand_new();
|
g_rand = g_rand_new();
|
||||||
|
|
||||||
playlist.length = 0;
|
playlist.length = 0;
|
||||||
@ -147,14 +144,8 @@ void initPlaylist(void)
|
|||||||
playlist.queued = -1;
|
playlist.queued = -1;
|
||||||
playlist.current = -1;
|
playlist.current = -1;
|
||||||
|
|
||||||
param = config_get_param(CONF_MAX_PLAYLIST_LENGTH);
|
playlist_max_length = config_get_positive(CONF_MAX_PLAYLIST_LENGTH,
|
||||||
|
DEFAULT_PLAYLIST_MAX_LENGTH);
|
||||||
if (param) {
|
|
||||||
playlist_max_length = strtol(param->value, &test, 10);
|
|
||||||
if (*test != '\0')
|
|
||||||
g_error("max playlist length \"%s\" is not an integer, "
|
|
||||||
"line %i", param->value, param->line);
|
|
||||||
}
|
|
||||||
|
|
||||||
playlist_saveAbsolutePaths =
|
playlist_saveAbsolutePaths =
|
||||||
config_get_bool(CONF_SAVE_ABSOLUTE_PATHS,
|
config_get_bool(CONF_SAVE_ABSOLUTE_PATHS,
|
||||||
|
Loading…
Reference in New Issue
Block a user