]> asedeno.scripts.mit.edu Git - git.git/blobdiff - receive-pack.c
apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches
[git.git] / receive-pack.c
index 2a3db16d684e3d7ec9bbdd5f80266eb1e4af6f64..78f75da5ca99bd5457fd4e0f6e3af2737afc335a 100644 (file)
@@ -2,16 +2,15 @@
 #include "refs.h"
 #include "pkt-line.h"
 #include "run-command.h"
-#include <sys/wait.h>
 
 static const char receive_pack_usage[] = "git-receive-pack <git-dir>";
 
-static char *unpacker[] = { "unpack-objects", NULL };
+static const char *unpacker[] = { "unpack-objects", NULL };
 
-static int report_status = 0;
+static int report_status;
 
 static char capabilities[] = "report-status";
-static int capabilities_sent = 0;
+static int capabilities_sent;
 
 static int show_ref(const char *path, const unsigned char *sha1)
 {
@@ -40,7 +39,7 @@ struct command {
        char ref_name[FLEX_ARRAY]; /* more */
 };
 
-static struct command *commands = NULL;
+static struct command *commands;
 
 static int is_all_zeroes(const char *hex)
 {
@@ -177,7 +176,7 @@ static void run_update_post_hook(struct command *cmd)
 {
        struct command *cmd_p;
        int argc;
-       char **argv;
+       const char **argv;
 
        if (access(update_post_hook, X_OK) < 0)
                return;
@@ -190,10 +189,12 @@ static void run_update_post_hook(struct command *cmd)
        argv[0] = update_post_hook;
 
        for (argc = 1, cmd_p = cmd; cmd_p; cmd_p = cmd_p->next) {
+               char *p;
                if (cmd_p->error_string)
                        continue;
-               argv[argc] = xmalloc(strlen(cmd_p->ref_name) + 1);
-               strcpy(argv[argc], cmd_p->ref_name);
+               p = xmalloc(strlen(cmd_p->ref_name) + 1);
+               strcpy(p, cmd_p->ref_name);
+               argv[argc] = p;
                argc++;
        }
        argv[argc] = NULL;
@@ -245,8 +246,8 @@ static void read_head_info(void)
                                report_status = 1;
                }
                cmd = xmalloc(sizeof(struct command) + len - 80);
-               memcpy(cmd->old_sha1, old_sha1, 20);
-               memcpy(cmd->new_sha1, new_sha1, 20);
+               hashcpy(cmd->old_sha1, old_sha1);
+               hashcpy(cmd->new_sha1, new_sha1);
                memcpy(cmd->ref_name, line + 82, len - 81);
                cmd->error_string = "n/a (unpacker error)";
                cmd->next = NULL;