X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=play.c;h=78d53fa8c7659c55f375c1e15a30ca5ac7f88488;hp=5fbf44c61817876c11144eaa94dbd36a507082f5;hb=089fb2fb2d9e2a3473aa6fac91681ca8ddfffff3;hpb=6811b2f8ea8b7a8c77046285c9432aee6327da80 diff --git a/play.c b/play.c index 5fbf44c6..78d53fa8 100644 --- a/play.c +++ b/play.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2012 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2012 Andre Noll , see file COPYING. */ /** \file play.c Paraslash's standalone player. */ @@ -143,7 +139,7 @@ static void handle_help_flags(void) if (OPT_GIVEN(DETAILED_HELP)) help = lls_long_help(CMD_PTR); - else if (OPT_GIVEN(HELP)) + else if (OPT_GIVEN(HELP) || lls_num_inputs(play_lpr) == 0) help = lls_short_help(CMD_PTR); else return; @@ -167,7 +163,7 @@ static void parse_config_or_die(int argc, char *argv[]) goto fail; loglevel = OPT_UINT32_VAL(LOGLEVEL); version_handle_flag("play", OPT_GIVEN(VERSION)); - handle_help_flags(); + handle_help_flags(); /* also handles the zero-arg case */ if (OPT_GIVEN(CONFIG_FILE)) cf = para_strdup(OPT_STRING_VAL(CONFIG_FILE)); else { @@ -182,7 +178,7 @@ static void parse_config_or_die(int argc, char *argv[]) if (ret == -ERRNO_TO_PARA_ERROR(ENOENT) && OPT_GIVEN(CONFIG_FILE)) goto free_cf; ret = 0; - goto free_cf; + goto setup_keymap; } ret = lls(lls_convert_config(map, sz, NULL, &cf_argv, &errctx)); para_munmap(map, sz); @@ -200,10 +196,7 @@ static void parse_config_or_die(int argc, char *argv[]) lls_free_parse_result(play_lpr, cmd); play_lpr = merged_lpr; loglevel = OPT_UINT32_VAL(LOGLEVEL); - - ret = lls(lls_check_arg_count(play_lpr, 1, INT_MAX, &errctx)); - if (ret < 0) - goto free_cf; +setup_keymap: num_kmas = OPT_GIVEN(KEY_MAP); for (i = 0; i < num_kmas; i++) { const char *kma = lls_string_val(i, OPT_RESULT(KEY_MAP)); @@ -718,7 +711,6 @@ static void help_completer(struct i9e_completion_info *ci, result->matches = i9e_complete_commands(ci->word, pp_completers); } -I9E_DUMMY_COMPLETER(SUPERCOMMAND_UNAVAILABLE); static struct i9e_completer pp_completers[] = { #define LSG_PLAY_CMD_CMD(_name) {.name = #_name, \ .completer = _name ## _completer}