checkout: pass whole struct to parse_branchname_arg instead of individual flags
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 3 Jan 2015 09:41:25 +0000 (16:41 +0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 7 Jan 2015 18:23:04 +0000 (10:23 -0800)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/checkout.c
index 953b76370be91563d4ec5a0ded3394d91b7d699b..d8717efb0709a22466bab7e97ea8ebfdd91b6a54 100644 (file)
@@ -1079,11 +1079,12 @@ static void check_linked_checkouts(struct branch_info *new)
 static int parse_branchname_arg(int argc, const char **argv,
                                int dwim_new_local_branch_ok,
                                struct branch_info *new,
-                               struct tree **source_tree,
-                               unsigned char rev[20],
-                               const char **new_branch,
-                               int force_detach)
+                               struct checkout_opts *opts,
+                               unsigned char rev[20])
 {
+       struct tree **source_tree = &opts->source_tree;
+       const char **new_branch = &opts->new_branch;
+       int force_detach = opts->force_detach;
        int argcount = 0;
        unsigned char branch_rev[20];
        const char *arg;
@@ -1420,9 +1421,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
                        opts.track == BRANCH_TRACK_UNSPECIFIED &&
                        !opts.new_branch;
                int n = parse_branchname_arg(argc, argv, dwim_ok,
-                                            &new, &opts.source_tree,
-                                            rev, &opts.new_branch,
-                                            opts.force_detach);
+                                            &new, &opts, rev);
                argv += n;
                argc -= n;
        }