# HG changeset patch # User Matti Hamalainen # Date 1212618322 -10800 # Node ID 895297e46ee384bd5cb4eefa04d1570d96be9ea3 # Parent c9b0da38d07d049cb06cd35c8451ea41d96b30b4 Cure some 'repetitive code syndromes' from audtool. diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool.h --- a/src/audtool/audtool.h Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool.h Thu Jun 05 01:25:22 2008 +0300 @@ -49,6 +49,7 @@ extern void audtool_report(const gchar *str, ...); extern void audtool_whine(const gchar *str, ...); +extern void audtool_whine_args(const gchar *name, const gchar *str, ...); extern void get_handlers_list(gint, gchar **); extern void get_current_song(gint, gchar **); @@ -136,4 +137,6 @@ extern void equalizer_active(gint argc, gchar **argv); extern void equalizer_show(gint, gchar **); +extern gint check_args_playlist_pos(gint argc, gchar **argv); + #endif diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_equalizer.c --- a/src/audtool/audtool_handlers_equalizer.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_equalizer.c Thu Jun 05 01:25:22 2008 +0300 @@ -64,16 +64,19 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } band = atoi(argv[1]); + /* FIXME, XXX, TODO: we should have a function for requesting + * the actual number of bands, if we support dynamic amount some day ... + * -- ccr + */ if (band < 0 || band > 9) { - audtool_whine("band number out of range"); + audtool_whine("band number out of range\n"); exit(1); } @@ -89,8 +92,7 @@ if (argc < 12) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], " "); exit(1); } @@ -110,8 +112,7 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -127,8 +128,7 @@ if (argc < 3) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], " "); exit(1); } @@ -142,17 +142,14 @@ { if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } if (!g_ascii_strcasecmp(argv[1], "on")) { audacious_remote_eq_activate(dbus_proxy, TRUE); - return; } else if (!g_ascii_strcasecmp(argv[1], "off")) { audacious_remote_eq_activate(dbus_proxy, FALSE); - return; } } diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_general.c --- a/src/audtool/audtool_handlers_general.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_general.c Thu Jun 05 01:25:22 2008 +0300 @@ -52,8 +52,7 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], "", argv[0]); exit(1); } @@ -75,8 +74,7 @@ void mainwin_show(gint argc, gchar **argv) { if (argc < 2) { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -93,8 +91,7 @@ void playlist_show(gint argc, gchar **argv) { if (argc < 2) { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -111,8 +108,7 @@ void equalizer_show(gint argc, gchar **argv) { if (argc < 2) { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -132,8 +128,7 @@ if (argc < 2) { #if 0 - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); #else audacious_remote_toggle_prefs_box(dbus_proxy, show); @@ -146,8 +141,7 @@ else if (!g_ascii_strcasecmp(argv[1], "off")) show = FALSE; else { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit (1); } @@ -160,8 +154,7 @@ if (argc < 2) { #if 0 - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); #else audacious_remote_toggle_about_box(dbus_proxy, show); @@ -174,8 +167,7 @@ else if (!g_ascii_strcasecmp(argv[1], "off")) show = FALSE; else { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit (1); } @@ -188,8 +180,7 @@ if (argc < 2) { #if 0 - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); #else audacious_remote_toggle_jtf_box(dbus_proxy, show); @@ -201,8 +192,7 @@ else if (!g_ascii_strcasecmp(argv[1], "off")) show = FALSE; else { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit (1); } @@ -215,8 +205,7 @@ if (argc < 2) { #if 0 - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); #else audacious_remote_toggle_filebrowser(dbus_proxy, show); @@ -229,8 +218,7 @@ else if (!g_ascii_strcasecmp(argv[1], "off")) show = FALSE; else { - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit (1); } @@ -268,8 +256,7 @@ { if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -295,8 +282,7 @@ { if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_playback.c --- a/src/audtool/audtool_handlers_playback.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_playback.c Thu Jun 05 01:25:22 2008 +0300 @@ -116,8 +116,7 @@ { if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -130,8 +129,7 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_playlist.c --- a/src/audtool/audtool_handlers_playlist.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_playlist.c Thu Jun 05 01:25:22 2008 +0300 @@ -47,8 +47,30 @@ audacious_remote_playlist_next(dbus_proxy); } -static gchar * -construct_uri(gchar *string) + +gint check_args_playlist_pos(gint argc, gchar **argv) +{ + gint playpos; + + if (argc < 2) + { + audtool_whine_args(argv[0], ""); + exit(1); + } + + playpos = atoi(argv[1]); + + if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) + { + audtool_whine("invalid playlist position %d ('%s')\n", playpos, argv[1]); + exit(2); + } + + return playpos; +} + + +static gchar * construct_uri(gchar *string) { gchar *filename = g_strdup(string); gchar *tmp, *path; @@ -81,8 +103,7 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } @@ -95,23 +116,7 @@ void playlist_delete(gint argc, gchar **argv) { - gint playpos; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - playpos = atoi(argv[1]); - - if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", playpos); - return; - } - + gint playpos = check_args_playlist_pos(argc, argv); audacious_remote_playlist_delete(dbus_proxy, playpos - 1); } @@ -126,48 +131,18 @@ void playlist_song(gint argc, gchar **argv) { - gint playpos; + gint playpos = check_args_playlist_pos(argc, argv); gchar *song; - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - playpos = atoi(argv[1]); - - if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", playpos); - exit(1); - } - song = audacious_remote_get_playlist_title(dbus_proxy, playpos - 1); - audtool_report("%s", song); } void playlist_song_length(gint argc, gchar **argv) { - gint playpos, frames, length; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - playpos = atoi(argv[1]); - - if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", playpos); - exit(1); - } + gint playpos = check_args_playlist_pos(argc, argv); + gint frames, length; frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); length = frames / 1000; @@ -177,22 +152,8 @@ void playlist_song_length_seconds(gint argc, gchar **argv) { - gint playpos, frames, length; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - playpos = atoi(argv[1]); - - if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", playpos); - exit(1); - } + gint playpos = check_args_playlist_pos(argc, argv); + gint frames, length; frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); length = frames / 1000; @@ -202,22 +163,8 @@ void playlist_song_length_frames(gint argc, gchar **argv) { - gint playpos, frames; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - playpos = atoi(argv[1]); - - if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", playpos); - exit(1); - } + gint playpos = check_args_playlist_pos(argc, argv); + gint frames; frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); @@ -283,46 +230,16 @@ void playlist_song_filename(gint argc, gchar **argv) { - gint i; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } + gint playpos = check_args_playlist_pos(argc, argv); - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } - - audtool_report("%s", audacious_remote_get_playlist_file(dbus_proxy, i - 1)); + audtool_report("%s", audacious_remote_get_playlist_file(dbus_proxy, playpos - 1)); } void playlist_jump(gint argc, gchar **argv) { - gint i; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } + gint playpos = check_args_playlist_pos(argc, argv); - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } - - audacious_remote_set_playlist_pos(dbus_proxy, i - 1); + audacious_remote_set_playlist_pos(dbus_proxy, playpos - 1); } void playlist_clear(gint argc, gchar **argv) @@ -336,12 +253,10 @@ if (audacious_remote_is_repeat(dbus_proxy)) { audtool_report("on"); - return; } else { audtool_report("off"); - return; } } @@ -355,12 +270,10 @@ if (audacious_remote_is_shuffle(dbus_proxy)) { audtool_report("on"); - return; } else { audtool_report("off"); - return; } } @@ -371,17 +284,16 @@ void playlist_tuple_field_data(gint argc, gchar **argv) { - gint i; + gint i; gchar *data; if (argc < 3) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - audtool_whine(" - fieldname example choices include but are not limited to:"); - audtool_whine(" artist, album, title, track-number, year, date,"); - audtool_whine(" genre, comment, file-name, file-ext, file-path,"); - audtool_whine(" length, formatter, custom, mtime"); + audtool_whine_args(argv[0], " "); + audtool_whine(" - fieldname example choices include but are not limited to:\n"); + audtool_whine(" artist, album, title, track-number, year, date,\n"); + audtool_whine(" genre, comment, file-name, file-ext, file-path,\n"); + audtool_whine(" length, formatter, custom, mtime\n"); exit(1); } @@ -389,7 +301,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { - audtool_whine("invalid playlist position %d", i); + audtool_whine("invalid playlist position %d\n", i); exit(1); } @@ -410,8 +322,7 @@ if (argc < 3) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], " "); exit(1); } @@ -431,8 +342,7 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + audtool_whine_args(argv[0], ""); exit(1); } diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_playqueue.c --- a/src/audtool/audtool_handlers_playqueue.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_playqueue.c Thu Jun 05 01:25:22 2008 +0300 @@ -39,22 +39,7 @@ void playqueue_add(gint argc, gchar **argv) { - gint i; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } + gint i = check_args_playlist_pos(argc, argv); if (!(audacious_remote_playqueue_is_queued(dbus_proxy, i - 1))) audacious_remote_playqueue_add(dbus_proxy, i - 1); @@ -62,22 +47,7 @@ void playqueue_remove(gint argc, gchar **argv) { - gint i; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } + gint i = check_args_playlist_pos(argc, argv); if (audacious_remote_playqueue_is_queued(dbus_proxy, i - 1)) audacious_remote_playqueue_remove(dbus_proxy, i - 1); @@ -85,23 +55,9 @@ void playqueue_is_queued(gint argc, gchar **argv) { - gint i; - - if (argc < 2) - { - audtool_whine("invalid parameters for playqueue-is-queued.", argv[0]); - audtool_whine("syntax: %s playqueue-is-queued ", argv[0]); - exit(1); - } + gint i = check_args_playlist_pos(argc, argv); - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } - if(audacious_remote_playqueue_is_queued(dbus_proxy, i - 1)) { + if (audacious_remote_playqueue_is_queued(dbus_proxy, i - 1)) { audtool_report("OK"); exit(0); } @@ -111,22 +67,7 @@ void playqueue_get_queue_position(gint argc, gchar **argv) { - gint i, pos; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } + gint pos, i = check_args_playlist_pos(argc, argv); pos = audacious_remote_get_playqueue_queue_position(dbus_proxy, i - 1) + 1; @@ -138,22 +79,7 @@ void playqueue_get_list_position(gint argc, gchar **argv) { - gint i, pos; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - exit(1); - } - - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playqueue_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - exit(1); - } + gint pos, i = check_args_playlist_pos(argc, argv); pos = audacious_remote_get_playqueue_list_position(dbus_proxy, i - 1) + 1; diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_handlers_vitals.c --- a/src/audtool/audtool_handlers_vitals.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_handlers_vitals.c Thu Jun 05 01:25:22 2008 +0300 @@ -165,12 +165,11 @@ if (argc < 2) { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - audtool_whine(" - fieldname example choices include but are not limited to:"); - audtool_whine(" artist, album, title, track-number, year, date,"); - audtool_whine(" genre, comment, file-name, file-ext, file-path,"); - audtool_whine(" length, formatter, custom, mtime"); + audtool_whine_args(argv[0], ""); + audtool_whine(" - fieldname example choices include but are not limited to:\n"); + audtool_whine(" artist, album, title, track-number, year, date,\n"); + audtool_whine(" genre, comment, file-name, file-ext, file-path,\n"); + audtool_whine(" length, formatter, custom, mtime\n"); exit(1); } diff -r c9b0da38d07d -r 895297e46ee3 src/audtool/audtool_report.c --- a/src/audtool/audtool_report.c Thu Jun 05 01:05:36 2008 +0300 +++ b/src/audtool/audtool_report.c Thu Jun 05 01:25:22 2008 +0300 @@ -59,7 +59,20 @@ buf = g_strdup_vprintf(str, va); va_end(va); - g_printerr("audtool: %s\n", buf); + g_printerr("audtool: %s", buf); g_free(buf); } +void audtool_whine_args(const gchar *name, const gchar *fmt, ...) +{ + gchar *buf; + va_list va; + + va_start(va, fmt); + buf = g_strdup_vprintf(fmt, va); + va_end(va); + + g_printerr("audtool: Invalid parameters for %s\n", name); + g_printerr(" syntax: %s %s\n", name, buf); + g_free(buf); +}