{"thread":{"id":"10426","subject":"[PATCH] s/pattern/prefix/ in help's list_commands","startedAt":"2007-10-22T08:51:41Z","lastAt":"2007-10-22T08:51:41Z","messageCount":1,"participants":["Scott R Parish"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"56842","messageId":"20071022085141.GA9654@srparish.net","threadId":"10426","inReplyTo":null,"subject":"[PATCH] s/pattern/prefix/ in help's list_commands","fromName":"Scott R Parish","fromEmail":"srp@srparish.net","sentAt":"2007-10-22T08:51:41Z","receivedAt":"2007-10-22T08:51:41Z","isPatch":true,"sender":{"key":"srp@srparish.net","avatar":"https://gravatar.com/avatar/870e5b6fc4f710cf4db5684bd9af7f2cee5734b3dab3209b13e00cf64f6c9f0e?d=mp&s=160"},"body":"list_commands() currently accepts and ignores a \"pattern\" argument,\nand then hard codes a prefix as well as some magic numbers. This\nrenames the arg from pattern to prefix and uses that instead of the\nhardcoded stuff.\n\nSigned-off-by: Scott R Parish <srp@srparish.net>\n---\n help.c |   13 +++++++------\n 1 files changed, 7 insertions(+), 6 deletions(-)\n\ndiff --git a/help.c b/help.c\nindex b0d2dd4..950f62d 100644\n--- a/help.c\n+++ b/help.c\n@@ -93,11 +93,12 @@ static void pretty_print_string_list(struct cmdname **cmdname, int longest)\n \t}\n }\n \n-static void list_commands(const char *exec_path, const char *pattern)\n+static void list_commands(const char *exec_path, const char *prefix)\n {\n \tunsigned int longest = 0;\n \tchar path[PATH_MAX];\n \tint dirlen;\n+\tint prefix_len = strlen(prefix);\n \tDIR *dir = opendir(exec_path);\n \tstruct dirent *de;\n \n@@ -120,7 +121,7 @@ static void list_commands(const char *exec_path, const char *pattern)\n \t\tstruct stat st;\n \t\tint entlen;\n \n-\t\tif (prefixcmp(de->d_name, \"git-\"))\n+\t\tif (prefixcmp(de->d_name, prefix))\n \t\t\tcontinue;\n \t\tstrcpy(path+dirlen, de->d_name);\n \t\tif (stat(path, &st) || /* stat, not lstat */\n@@ -128,14 +129,14 @@ static void list_commands(const char *exec_path, const char *pattern)\n \t\t    !(st.st_mode & S_IXUSR))\n \t\t\tcontinue;\n \n-\t\tentlen = strlen(de->d_name);\n+\t\tentlen = strlen(de->d_name) - prefix_len;\n \t\tif (has_extension(de->d_name, \".exe\"))\n \t\t\tentlen -= 4;\n \n \t\tif (longest < entlen)\n \t\t\tlongest = entlen;\n \n-\t\tadd_cmdname(de->d_name + 4, entlen-4);\n+\t\tadd_cmdname(de->d_name + prefix_len, entlen);\n \t}\n \tclosedir(dir);\n \n@@ -143,7 +144,7 @@ static void list_commands(const char *exec_path, const char *pattern)\n \tprintf(\"----------------------------\");\n \tmput_char('-', strlen(exec_path));\n \tputchar('\\n');\n-\tpretty_print_string_list(cmdname, longest - 4);\n+\tpretty_print_string_list(cmdname, longest);\n \tputchar('\\n');\n }\n \n@@ -210,7 +211,7 @@ int cmd_help(int argc, const char **argv, const char *prefix)\n \telse if (!strcmp(help_cmd, \"--all\") || !strcmp(help_cmd, \"-a\")) {\n \t\tprintf(\"usage: %s\\n\\n\", git_usage_string);\n \t\tif(exec_path)\n-\t\t\tlist_commands(exec_path, \"git-*\");\n+\t\t\tlist_commands(exec_path, \"git-\");\n \t\texit(0);\n \t}\n \n-- \n1.5.3.4.209.g5d1ce-dirty\n"}]}