X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git.c;h=164d3e9e4f41869192493d39e93ea4fc34fde4eb;hb=bd494fc76be09ab61f8285f1299e2474b0554a81;hp=bf68daca200cee00747cec1bbcace985ff0af9d1;hpb=1114b68f25d1d0a0a0a54406ab0cb3e154bdbad9;p=git.git diff --git a/git.c b/git.c index bf68daca..164d3e9e 100644 --- a/git.c +++ b/git.c @@ -216,33 +216,33 @@ static void prepend_to_path(const char *dir, int len) setenv("PATH", path, 1); } -static void show_man_page(char *git_cmd) +static void show_man_page(const char *git_cmd) { - char *page; + const char *page; if (!strncmp(git_cmd, "git", 3)) page = git_cmd; else { int page_len = strlen(git_cmd) + 4; - - page = malloc(page_len + 1); - strcpy(page, "git-"); - strcpy(page + 4, git_cmd); - page[page_len] = 0; + char *p = malloc(page_len + 1); + strcpy(p, "git-"); + strcpy(p + 4, git_cmd); + p[page_len] = 0; + page = p; } execlp("man", "man", page, NULL); } -static int cmd_version(int argc, char **argv, char **envp) +static int cmd_version(int argc, const char **argv, char **envp) { printf("git version %s\n", GIT_VERSION); return 0; } -static int cmd_help(int argc, char **argv, char **envp) +static int cmd_help(int argc, const char **argv, char **envp) { - char *help_cmd = argv[1]; + const char *help_cmd = argv[1]; if (!help_cmd) cmd_usage(git_exec_path(), NULL); show_man_page(help_cmd); @@ -251,7 +251,7 @@ static int cmd_help(int argc, char **argv, char **envp) #define LOGSIZE (65536) -static int cmd_log(int argc, char **argv, char **envp) +static int cmd_log(int argc, const char **argv, char **envp) { struct rev_info rev; struct commit *commit; @@ -263,21 +263,8 @@ static int cmd_log(int argc, char **argv, char **envp) argc = setup_revisions(argc, argv, &rev, "HEAD"); while (1 < argc) { - char *arg = argv[1]; - /* accept -, like traditilnal "head" */ - if ((*arg == '-') && isdigit(arg[1])) { - rev.max_count = atoi(arg + 1); - } - else if (!strcmp(arg, "-n")) { - if (argc < 2) - die("-n requires an argument"); - rev.max_count = atoi(argv[2]); - argc--; argv++; - } - else if (!strncmp(arg,"-n",2)) { - rev.max_count = atoi(arg + 2); - } - else if (!strncmp(arg, "--pretty", 8)) { + const char *arg = argv[1]; + if (!strncmp(arg, "--pretty", 8)) { commit_format = get_commit_format(arg + 8); if (commit_format == CMIT_FMT_ONELINE) commit_prefix = ""; @@ -338,12 +325,12 @@ static int cmd_log(int argc, char **argv, char **envp) #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) -static void handle_internal_command(int argc, char **argv, char **envp) +static void handle_internal_command(int argc, const char **argv, char **envp) { const char *cmd = argv[0]; static struct cmd_struct { const char *cmd; - int (*fn)(int, char **, char **); + int (*fn)(int, const char **, char **); } commands[] = { { "version", cmd_version }, { "help", cmd_help }, @@ -359,9 +346,9 @@ static void handle_internal_command(int argc, char **argv, char **envp) } } -int main(int argc, char **argv, char **envp) +int main(int argc, const char **argv, char **envp) { - char *cmd = argv[0]; + const char *cmd = argv[0]; char *slash = strrchr(cmd, '/'); char git_command[PATH_MAX + 1]; const char *exec_path = NULL;