contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
[gitweb.git] / grep.c
diff --git a/grep.c b/grep.c
index ece04bf2756ec6e2555a7569dacb8c66931eff7d..99217dc04f5d04c761f094069f1053cb090baaf1 100644 (file)
--- a/grep.c
+++ b/grep.c
@@ -1567,8 +1567,11 @@ static int grep_source_1(struct grep_opt *opt, struct grep_source *gs, int colle
         */
        if (opt->count && count) {
                char buf[32];
-               output_color(opt, gs->name, strlen(gs->name), opt->color_filename);
-               output_sep(opt, ':');
+               if (opt->pathname) {
+                       output_color(opt, gs->name, strlen(gs->name),
+                                    opt->color_filename);
+                       output_sep(opt, ':');
+               }
                snprintf(buf, sizeof(buf), "%u\n", count);
                opt->output(opt, buf, strlen(buf));
                return 1;
@@ -1655,7 +1658,7 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
                break;
        case GREP_SOURCE_SHA1:
                gs->identifier = xmalloc(20);
-               memcpy(gs->identifier, identifier, 20);
+               hashcpy(gs->identifier, identifier);
                break;
        case GREP_SOURCE_BUF:
                gs->identifier = NULL;