X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcommand.c;h=f47772e570ec37e6d98500dd120964860bebcf5d;hb=67a0cefac10d7a8fe0fe6df106e49f27bda7f8e0;hp=b9a909ffef8f982753dc7aa26d3a79d061a84f5a;hpb=d2247f1fa7e3dd2651b474a6f699abc136731ff3;p=ncmpc.git diff --git a/src/command.c b/src/command.c index b9a909f..f47772e 100644 --- a/src/command.c +++ b/src/command.c @@ -1,5 +1,5 @@ /* ncmpc (Ncurses MPD Client) - * (c) 2004-2010 The Music Player Daemon Project + * (c) 2004-2017 The Music Player Daemon Project * Project homepage: http://musicpd.org * * This program is free software; you can redistribute it and/or modify @@ -89,9 +89,9 @@ static command_definition_t cmds[] = { { { 'v', 0, 0 }, 0, CMD_LIST_RANGE_SELECT, "range-select", N_("Range selection") }, { { C('N'), 0, 0 }, 0, CMD_LIST_SCROLL_DOWN_LINE, "scroll-down-line", - N_("Scroll up one line") }, - { { C('B'), 0, 0 }, 0, CMD_LIST_SCROLL_UP_LINE, "scroll-up-line", N_("Scroll down one line") }, + { { C('B'), 0, 0 }, 0, CMD_LIST_SCROLL_UP_LINE, "scroll-up-line", + N_("Scroll up one line") }, { { 'N', 0, 0 }, 0, CMD_LIST_SCROLL_DOWN_HALF, "scroll-down-half", N_("Scroll up half a screen") }, { { 'B', 0, 0 }, 0, CMD_LIST_SCROLL_UP_HALF, "scroll-up-half", @@ -268,15 +268,12 @@ get_cmds_max_name_width(command_definition_t *c) if (max != 0) return max; - size_t len; - command_definition_t *p; - - for (p = c; p->name != NULL; p++) { + for (command_definition_t *p = c; p->name != NULL; p++) { /* * width and length are considered the same here, as command * names are not translated. */ - len = (size_t) strlen(p->name); + size_t len = strlen(p->name); if (len > max) max = len; } @@ -288,11 +285,9 @@ get_cmds_max_name_width(command_definition_t *c) const char * key2str(int key) { - static char buf[32]; - int i; - - buf[0] = 0; switch(key) { + static char buf[32]; + case 0: return _("Undefined"); case ' ': @@ -328,7 +323,7 @@ key2str(int key) case KEY_IC: return _("Insert"); default: - for (i = 0; i <= 63; i++) + for (int i = 0; i <= 63; i++) if (key == KEY_F(i)) { g_snprintf(buf, 32, _("F%d"), i ); return buf; @@ -341,15 +336,14 @@ key2str(int key) g_snprintf(buf, 32, "%c", key); else g_snprintf(buf, 32, "0x%03X", key); + return buf; } - - return buf; } void command_dump_keys(void) { - for (int i = 0; cmds[i].description; i++) + for (size_t i = 0; cmds[i].description; i++) if (cmds[i].command != CMD_NONE) printf(" %20s : %s\n", get_key_names(cmds[i].command, true), @@ -361,7 +355,7 @@ command_dump_keys(void) static void set_key_flags(command_definition_t *cp, command_t command, int flags) { - for (int i = 0; cp[i].name; i++) { + for (size_t i = 0; cp[i].name; i++) { if (cp[i].command == command) { cp[i].flags |= flags; break; @@ -382,7 +376,7 @@ get_key_names(command_t command, bool all) if (!all) return keystr; - for (int j = 1; j < MAX_COMMAND_KEYS && + for (unsigned j = 1; j < MAX_COMMAND_KEYS && cmds[i].keys[j] > 0; j++) { g_strlcat(keystr, " ", sizeof(keystr)); g_strlcat(keystr, key2str(cmds[i].keys[j]), sizeof(keystr)); @@ -396,7 +390,7 @@ get_key_names(command_t command, bool all) const char * get_key_description(command_t command) { - for (int i = 0; cmds[i].description; i++) + for (size_t i = 0; cmds[i].description; i++) if (cmds[i].command == command) return _(cmds[i].description); @@ -406,7 +400,7 @@ get_key_description(command_t command) const char * get_key_command_name(command_t command) { - for (int i = 0; cmds[i].name; i++) + for (size_t i = 0; cmds[i].name; i++) if (cmds[i].command == command) return cmds[i].name; @@ -414,9 +408,9 @@ get_key_command_name(command_t command) } command_t -get_key_command_from_name(char *name) +get_key_command_from_name(const char *name) { - for (int i = 0; cmds[i].name; i++) + for (size_t i = 0; cmds[i].name; i++) if (strcmp(name, cmds[i].name) == 0) return cmds[i].command; @@ -424,12 +418,12 @@ get_key_command_from_name(char *name) } command_t -find_key_command(int key, command_definition_t *c) +find_key_command(int key, const command_definition_t *c) { assert(key != 0); assert(c != NULL); - for (int i = 0; c[i].name; i++) { + for (size_t i = 0; c[i].name; i++) { for (int j = 0; j < MAX_COMMAND_KEYS; j++) if (c[i].keys[j] == key) return c[i].command; @@ -447,9 +441,7 @@ get_key_command(int key) command_t get_keyboard_command(void) { - int key; - - key = wgetch(stdscr); + int key = wgetch(stdscr); if (key == ERR || key == '\0') return CMD_NONE; @@ -461,37 +453,36 @@ get_keyboard_command(void) return get_key_command(key); } -int +bool assign_keys(command_t command, int keys[MAX_COMMAND_KEYS]) { - for (int i = 0; cmds[i].name; i++) { + for (size_t i = 0; cmds[i].name; i++) { if (cmds[i].command == command) { memcpy(cmds[i].keys, keys, sizeof(int)*MAX_COMMAND_KEYS); #ifndef NCMPC_MINI cmds[i].flags |= COMMAND_KEY_MODIFIED; #endif - return 0; + return true; } } - return -1; + return false; } #ifndef NCMPC_MINI -int +bool check_key_bindings(command_definition_t *cp, char *buf, size_t bufsize) { - int i; - int retval = 0; + bool success = true; if (cp == NULL) cp = cmds; - for (i = 0; cp[i].name; i++) + for (size_t i = 0; cp[i].name; i++) cp[i].flags &= ~COMMAND_KEY_CONFLICT; - for (i = 0; cp[i].name; i++) { + for (size_t i = 0; cp[i].name; i++) { int j; command_t cmd; @@ -514,21 +505,21 @@ check_key_bindings(command_definition_t *cp, char *buf, size_t bufsize) } cp[i].flags |= COMMAND_KEY_CONFLICT; set_key_flags(cp, cmd, COMMAND_KEY_CONFLICT); - retval = -1; + success = false; } } } - return retval; + return success; } -int +bool write_key_bindings(FILE *f, int flags) { if (flags & KEYDEF_WRITE_HEADER) fprintf(f, "## Key bindings for ncmpc (generated by ncmpc)\n\n"); - for (int i = 0; cmds[i].name && !ferror(f); i++) { + for (size_t i = 0; cmds[i].name && !ferror(f); i++) { if (cmds[i].flags & COMMAND_KEY_MODIFIED || flags & KEYDEF_WRITE_ALL) { fprintf(f, "## %s\n", cmds[i].description); @@ -550,7 +541,7 @@ write_key_bindings(FILE *f, int flags) } } - return ferror(f); + return ferror(f) == 0; } #endif /* NCMPC_MINI */