X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fmain.c;h=ffc310fcee2b183d862c77e9c2bf83f8166929df;hb=abf74f74fc864c9dc2a928d72d9172eb9742e6aa;hp=15663df0c9db14facfde74ddd2771319c26ce59e;hpb=55d0e2622a24111abc47924c29939a92cc2a0386;p=ncmpc.git diff --git a/src/main.c b/src/main.c index 15663df..ffc310f 100644 --- a/src/main.c +++ b/src/main.c @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ + */ #include "config.h" #include "ncmpc.h" @@ -27,7 +27,7 @@ #include "ncu.h" #include "screen.h" #include "screen_utils.h" -#include "screen_message.h" +#include "screen_status.h" #include "strfsong.h" #include "i18n.h" #include "player_command.h" @@ -112,6 +112,7 @@ exit_and_cleanup(void) } } +#ifndef WIN32 static void catch_sigint(G_GNUC_UNUSED int sig) { @@ -157,6 +158,7 @@ catch_sigwinch(G_GNUC_UNUSED int sig) if (1 != write(sigwinch_pipes[1], &irrelevant, 1)) exit(EXIT_FAILURE); } +#endif /* WIN32 */ static void idle_callback(enum mpd_error error, @@ -269,7 +271,12 @@ default_settings_name(void) return name; #else - return g_strdup(options.host); + /* + * localhost is actually not correct, we only know that + * mpd_connection_new() has connected to the "default host". + */ + const char *name = options.host ?: "localhost"; + return g_strdup(name); #endif } @@ -286,12 +293,7 @@ connection_settings_name(const struct mpd_connection *connection) #else (void)connection; - /* - * localhost is actually not correct, we only know that - * mpd_connection_new() has connected to the "default host". - */ - const char *name = options.host ?: "localhost"; - return g_strdup(name); + return default_settings_name(); #endif } @@ -311,14 +313,14 @@ timer_reconnect(G_GNUC_UNUSED gpointer data) char *name = default_settings_name(); screen_status_printf(_("Connecting to %s... [Press %s to abort]"), - name, get_key_names(CMD_QUIT,0) ); + name, get_key_names(CMD_QUIT, false)); g_free(name); doupdate(); mpdclient_disconnect(mpd); success = mpdclient_connect(mpd, options.host, options.port, - 1500, + options.timeout_ms, options.password); if (!success) { /* try again in 5 seconds */ @@ -358,9 +360,7 @@ timer_reconnect(G_GNUC_UNUSED gpointer data) doupdate(); /* update immediately */ - mpd->events = MPD_IDLE_DATABASE|MPD_IDLE_STORED_PLAYLIST| - MPD_IDLE_QUEUE|MPD_IDLE_PLAYER|MPD_IDLE_MIXER|MPD_IDLE_OUTPUT| - MPD_IDLE_OPTIONS|MPD_IDLE_UPDATE; + mpd->events = MPD_IDLE_ALL; do_mpd_update(); @@ -380,7 +380,7 @@ check_reconnect(void) /** * This function is called by the gidle.c library when MPD sends us an - * idle event (or when the connectiond dies). + * idle event (or when the connection dies). */ static void idle_callback(enum mpd_error error, enum mpd_server_error server_error, @@ -391,7 +391,7 @@ idle_callback(enum mpd_error error, enum mpd_server_error server_error, c->idle = false; - assert(mpdclient_get_connection(c) != NULL); + assert(mpdclient_is_connected(c)); if (error != MPD_ERROR_SUCCESS) { char *allocated; @@ -527,7 +527,7 @@ timer_check_key_bindings(G_GNUC_UNUSED gpointer data) and this is a hint for the user what to press to correct that */ g_snprintf(comment, sizeof(comment), _("press %s for the key editor"), - get_key_names(CMD_SCREEN_KEYDEF, 0)); + get_key_names(CMD_SCREEN_KEYDEF, false)); g_strlcat(buf, comment, sizeof(buf)); g_strlcat(buf, ")", sizeof(buf)); #endif @@ -542,8 +542,13 @@ timer_check_key_bindings(G_GNUC_UNUSED gpointer data) int main(int argc, const char *argv[]) { +#ifndef WIN32 struct sigaction act; +#endif #ifdef ENABLE_LOCALE +#ifndef ENABLE_NLS + G_GNUC_UNUSED +#endif const char *charset = NULL; #endif GIOChannel *keyboard_channel; @@ -592,6 +597,7 @@ main(int argc, const char *argv[]) /* parse command line options - 2 pass */ options_parse(argc, argv); +#ifndef WIN32 /* setup signal behavior - SIGINT */ sigemptyset(&act.sa_mask); act.sa_flags = 0; @@ -641,6 +647,7 @@ main(int argc, const char *argv[]) perror("sigaction(SIGPIPE)"); exit(EXIT_FAILURE); } +#endif ncu_init(); @@ -670,6 +677,7 @@ main(int argc, const char *argv[]) } #endif +#ifndef WIN32 if (!pipe(sigwinch_pipes) && !fcntl(sigwinch_pipes[1], F_SETFL, O_NONBLOCK)) { sigwinch_channel = g_io_channel_unix_new(sigwinch_pipes[0]); @@ -679,6 +687,7 @@ main(int argc, const char *argv[]) perror("sigwinch pipe creation failed"); exit(EXIT_FAILURE); } +#endif /* attempt to connect */ reconnect_source_id = g_timeout_add(1, timer_reconnect, NULL);