Code

options: convert timedisplay_type into a bool variable
[ncmpc.git] / src / options.c
index df1a9da16fff6fca44da8dc780a4155763a18a7d..c9eb5e8a954c3fcbb812caa4651e36b1f5888548 100644 (file)
@@ -49,13 +49,14 @@ typedef void (*option_callback_fn_t)(int c, const char *arg);
 
 
 options_t options = {
-       .port = DEFAULT_PORT,
        .crossfade_time = DEFAULT_CROSSFADE_TIME,
        .seek_time = 1,
 #ifdef ENABLE_LYRICS_SCREEN
        .lyrics_timeout = DEFAULT_LYRICS_TIMEOUT,
+       .lyrics_autosave = false,
 #endif
        .find_wrap = true,
+       .scroll_offset = 0,
        .wide_cursor = true,
        .audible_bell = true,
        .bell_on_wrap = true,
@@ -63,7 +64,6 @@ options_t options = {
 #ifndef NCMPC_MINI
        .scroll = DEFAULT_SCROLL,
        .welcome_screen_list = true,
-       .display_time = true,
        .jump_prefix_only = true,
 #endif
 };
@@ -78,8 +78,8 @@ static const arg_opt_t option_table[] = {
        { 'M', "no-mouse", NULL, "Disable mouse" },
 #endif
        { 'e', "exit", NULL, "Exit on connection errors" },
-       { 'p', "port", "PORT", "Connect to server on port [" DEFAULT_PORT_STR "]" },
-       { 'h', "host", "HOST", "Connect to server on host [" DEFAULT_HOST "]" },
+       { 'p', "port", "PORT", "Connect to server on port" },
+       { 'h', "host", "HOST", "Connect to server on host" },
        { 'P', "password","PASSWORD", "Connect with password" },
        { 'f', "config", "FILE", "Read configuration from file" },
        { 'k', "key-file","FILE", "Read configuration from file" },
@@ -250,23 +250,19 @@ handle_option(int c, const char *arg)
                options.port = atoi(arg);
                break;
        case 'h': /* --host */
-               if( options.host )
-                       g_free(options.host);
+               g_free(options.host);
                options.host = g_strdup(arg);
                break;
        case 'P': /* --password */
-               if( options.password )
-                       g_free(options.password);
+               g_free(options.password);
                options.password = locale_to_utf8(arg);
                break;
        case 'f': /* --config */
-               if( options.config_file )
-                       g_free(options.config_file);
+               g_free(options.config_file);
                options.config_file = g_strdup(arg);
                break;
        case 'k': /* --key-file */
-               if( options.key_file )
-                       g_free(options.key_file);
+               g_free(options.key_file);
                options.key_file = g_strdup(arg);
                break;
        case 'S': /* --key-file */
@@ -371,15 +367,7 @@ options_parse(int argc, const char *argv[])
 void
 options_init(void)
 {
-       const char *value;
-       char *tmp;
-
-       /* get initial values for host and password from MPD_HOST (environment) */
-       if ((value = g_getenv(MPD_HOST_ENV)))
-               options.host = g_strdup(value);
-       else
-               options.host = g_strdup(DEFAULT_HOST);
-
+       /* XXX
        if ((tmp = g_strstr_len(options.host, strlen(options.host), "@"))) {
                char *oldhost = options.host;
                *tmp  = '\0';
@@ -387,17 +375,30 @@ options_init(void)
                options.host = g_strdup(tmp+1);
                g_free(oldhost);
        }
-
-       /* get initial values for port from MPD_PORT (environment) */
-       if ((value = g_getenv(MPD_PORT_ENV)))
-               options.port = atoi(value);
+       */
 
        /* default option values */
        options.list_format = g_strdup(DEFAULT_LIST_FORMAT);
        options.status_format = g_strdup(DEFAULT_STATUS_FORMAT);
        options.screen_list = g_strsplit_set(DEFAULT_SCREEN_LIST, " ", 0);
-       options.timedisplay_type = g_strdup(DEFAULT_TIMEDISPLAY_TYPE);
 #ifndef NCMPC_MINI
        options.scroll_sep = g_strdup(DEFAULT_SCROLL_SEP);
 #endif
 }
+
+void
+options_deinit(void)
+{
+       g_free(options.host);
+       g_free(options.username);
+       g_free(options.password);
+       g_free(options.config_file);
+       g_free(options.key_file);
+       g_free(options.list_format);
+       g_free(options.status_format);
+       g_strfreev(options.screen_list);
+#ifndef NCMPC_MINI
+       g_free(options.xterm_title_format);
+       g_free(options.scroll_sep);
+#endif
+}