Merge branch 'rs/status-code-clean-up'
authorJunio C Hamano <gitster@pobox.com>
Thu, 10 Jul 2014 18:27:50 +0000 (11:27 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 10 Jul 2014 18:27:50 +0000 (11:27 -0700)
* rs/status-code-clean-up:
wt-status: simplify building of summary limit argument
wt-status: use argv_array for environment

1  2 
wt-status.c
diff --combined wt-status.c
index 318a191238fb831da8b72f04886b311f1c2c2567,4cd31be2bdaeaeb575fc132ec7dce69bfdbb700b..882cfe9fb050efe84e2330b9aea76685c6a7f891
@@@ -188,7 -188,7 +188,7 @@@ static void wt_status_print_unmerged_he
        } else {
                status_printf_ln(s, c, _("  (use \"git add/rm <file>...\" as appropriate to mark resolution)"));
        }
 -      status_printf_ln(s, c, "");
 +      status_printf_ln(s, c, "%s", "");
  }
  
  static void wt_status_print_cached_header(struct wt_status *s)
                status_printf_ln(s, c, _("  (use \"git reset %s <file>...\" to unstage)"), s->reference);
        else
                status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" to unstage)"));
 -      status_printf_ln(s, c, "");
 +      status_printf_ln(s, c, "%s", "");
  }
  
  static void wt_status_print_dirty_header(struct wt_status *s,
        status_printf_ln(s, c, _("  (use \"git checkout -- <file>...\" to discard changes in working directory)"));
        if (has_dirty_submodules)
                status_printf_ln(s, c, _("  (commit or discard the untracked or modified content in submodules)"));
 -      status_printf_ln(s, c, "");
 +      status_printf_ln(s, c, "%s", "");
  }
  
  static void wt_status_print_other_header(struct wt_status *s,
        if (!s->hints)
                return;
        status_printf_ln(s, c, _("  (use \"git %s <file>...\" to include in what will be committed)"), how);
 -      status_printf_ln(s, c, "");
 +      status_printf_ln(s, c, "%s", "");
  }
  
  static void wt_status_print_trailer(struct wt_status *s)
  {
 -      status_printf_ln(s, color(WT_STATUS_HEADER, s), "");
 +      status_printf_ln(s, color(WT_STATUS_HEADER, s), "%s", "");
  }
  
  #define quote_path quote_path_relative
@@@ -734,37 -734,34 +734,34 @@@ static void wt_status_print_changed(str
  static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitted)
  {
        struct child_process sm_summary;
-       char summary_limit[64];
-       char index[PATH_MAX];
-       const char *env[] = { NULL, NULL };
+       struct argv_array env = ARGV_ARRAY_INIT;
        struct argv_array argv = ARGV_ARRAY_INIT;
        struct strbuf cmd_stdout = STRBUF_INIT;
        struct strbuf summary = STRBUF_INIT;
        char *summary_content;
        size_t len;
  
-       sprintf(summary_limit, "%d", s->submodule_summary);
-       snprintf(index, sizeof(index), "GIT_INDEX_FILE=%s", s->index_file);
+       argv_array_pushf(&env, "GIT_INDEX_FILE=%s", s->index_file);
  
-       env[0] = index;
        argv_array_push(&argv, "submodule");
        argv_array_push(&argv, "summary");
        argv_array_push(&argv, uncommitted ? "--files" : "--cached");
        argv_array_push(&argv, "--for-status");
        argv_array_push(&argv, "--summary-limit");
-       argv_array_push(&argv, summary_limit);
+       argv_array_pushf(&argv, "%d", s->submodule_summary);
        if (!uncommitted)
                argv_array_push(&argv, s->amend ? "HEAD^" : "HEAD");
  
        memset(&sm_summary, 0, sizeof(sm_summary));
        sm_summary.argv = argv.argv;
-       sm_summary.env = env;
+       sm_summary.env = env.argv;
        sm_summary.git_cmd = 1;
        sm_summary.no_stdin = 1;
        fflush(s->fp);
        sm_summary.out = -1;
  
        run_command(&sm_summary);
+       argv_array_clear(&env);
        argv_array_clear(&argv);
  
        len = strbuf_read(&cmd_stdout, sm_summary.out, 1024);
@@@ -836,7 -833,7 +833,7 @@@ static void wt_status_print_other(struc
        string_list_clear(&output, 0);
        strbuf_release(&buf);
  conclude:
 -      status_printf_ln(s, GIT_COLOR_NORMAL, "");
 +      status_printf_ln(s, GIT_COLOR_NORMAL, "%s", "");
  }
  
  void wt_status_truncate_message_at_cut_line(struct strbuf *buf)
@@@ -923,7 -920,7 +920,7 @@@ static void wt_status_print_tracking(st
                color_fprintf_ln(s->fp, color(WT_STATUS_HEADER, s), "%c",
                                 comment_line_char);
        else
 -              fprintf_ln(s->fp, "");
 +              fputs("", s->fp);
  }
  
  static int has_unmerged(struct wt_status *s)
@@@ -1339,7 -1336,7 +1336,7 @@@ void wt_status_print(struct wt_status *
                                on_what = _("Not currently on any branch.");
                        }
                }
 -              status_printf(s, color(WT_STATUS_HEADER, s), "");
 +              status_printf(s, color(WT_STATUS_HEADER, s), "%s", "");
                status_printf_more(s, branch_status_color, "%s", on_what);
                status_printf_more(s, branch_color, "%s\n", branch_name);
                if (!s->is_initial)
        free(state.detached_from);
  
        if (s->is_initial) {
 -              status_printf_ln(s, color(WT_STATUS_HEADER, s), "");
 +              status_printf_ln(s, color(WT_STATUS_HEADER, s), "%s", "");
                status_printf_ln(s, color(WT_STATUS_HEADER, s), _("Initial commit"));
 -              status_printf_ln(s, color(WT_STATUS_HEADER, s), "");
 +              status_printf_ln(s, color(WT_STATUS_HEADER, s), "%s", "");
        }
  
        wt_status_print_updated(s);
                if (s->show_ignored_files)
                        wt_status_print_other(s, &s->ignored, _("Ignored files"), "add -f");
                if (advice_status_u_option && 2000 < s->untracked_in_ms) {
 -                      status_printf_ln(s, GIT_COLOR_NORMAL, "");
 +                      status_printf_ln(s, GIT_COLOR_NORMAL, "%s", "");
                        status_printf_ln(s, GIT_COLOR_NORMAL,
                                         _("It took %.2f seconds to enumerate untracked files. 'status -uno'\n"
                                           "may speed it up, but you have to be careful not to forget to add\n"