]> git.ipfire.org Git - thirdparty/git.git/blobdiff - builtin/receive-pack.c
Merge branch 'ab/config-based-hooks-2'
[thirdparty/git.git] / builtin / receive-pack.c
index e99b1ecd103f41d8bed551040c1c03df4a880252..c427ca09aafa69810fa7213cebb6375bb6a21b92 100644 (file)
@@ -581,32 +581,19 @@ static char *prepare_push_cert_nonce(const char *path, timestamp_t stamp)
        return strbuf_detach(&buf, NULL);
 }
 
-/*
- * NEEDSWORK: reuse find_commit_header() from jk/commit-author-parsing
- * after dropping "_commit" from its name and possibly moving it out
- * of commit.c
- */
 static char *find_header(const char *msg, size_t len, const char *key,
                         const char **next_line)
 {
-       int key_len = strlen(key);
-       const char *line = msg;
-
-       while (line && line < msg + len) {
-               const char *eol = strchrnul(line, '\n');
-
-               if ((msg + len <= eol) || line == eol)
-                       return NULL;
-               if (line + key_len < eol &&
-                   !memcmp(line, key, key_len) && line[key_len] == ' ') {
-                       int offset = key_len + 1;
-                       if (next_line)
-                               *next_line = *eol ? eol + 1 : eol;
-                       return xmemdupz(line + offset, (eol - line) - offset);
-               }
-               line = *eol ? eol + 1 : NULL;
-       }
-       return NULL;
+       size_t out_len;
+       const char *val = find_header_mem(msg, len, key, &out_len);
+
+       if (!val)
+               return NULL;
+
+       if (next_line)
+               *next_line = val + out_len + 1;
+
+       return xmemdupz(val, out_len);
 }
 
 /*
@@ -2209,7 +2196,7 @@ static const char *unpack(int err_fd, struct shallow_info *si)
                strvec_push(&child.args, alt_shallow_file);
        }
 
-       tmp_objdir = tmp_objdir_create();
+       tmp_objdir = tmp_objdir_create("incoming");
        if (!tmp_objdir) {
                if (err_fd > 0)
                        close(err_fd);