[PATCH] introduce xmalloc and xrealloc
[git.git] / sha1_file.c
index d2f38f0..db2880e 100644 (file)
@@ -73,7 +73,7 @@ char *sha1_file_name(const unsigned char *sha1)
        if (!base) {
                char *sha1_file_directory = getenv(DB_ENVIRONMENT) ? : DEFAULT_DB_ENVIRONMENT;
                int len = strlen(sha1_file_directory);
-               base = malloc(len + 60);
+               base = xmalloc(len + 60);
                memcpy(base, sha1_file_directory, len);
                memset(base+len, 0, 60);
                base[len] = '/';
@@ -161,9 +161,7 @@ void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, unsigned l
                return NULL;
 
        bytes = strlen(buffer) + 1;
-       buf = malloc(*size);
-       if (!buf)
-               return NULL;
+       buf = xmalloc(*size);
 
        memcpy(buf, buffer + bytes, stream.total_out - bytes);
        bytes = stream.total_out - bytes;
@@ -231,7 +229,7 @@ void *read_tree_with_tree_or_commit_sha1(const unsigned char *sha1,
        return buffer;
 }
 
-int write_sha1_file(char *buf, unsigned len, const char *type, unsigned char *returnsha1)
+int write_sha1_file(char *buf, unsigned long len, const char *type, unsigned char *returnsha1)
 {
        int size;
        char *compressed;
@@ -243,7 +241,7 @@ int write_sha1_file(char *buf, unsigned len, const char *type, unsigned char *re
        int fd, hdrlen;
 
        /* Generate the header */
-       hdrlen = sprintf(hdr, "%s %d", type, len)+1;
+       hdrlen = sprintf(hdr, "%s %lu", type, len)+1;
 
        /* Sha1.. */
        SHA1_Init(&c);
@@ -271,7 +269,7 @@ int write_sha1_file(char *buf, unsigned len, const char *type, unsigned char *re
        memset(&stream, 0, sizeof(stream));
        deflateInit(&stream, Z_BEST_COMPRESSION);
        size = deflateBound(&stream, len+hdrlen);
-       compressed = malloc(size);
+       compressed = xmalloc(size);
 
        /* Compress it */
        stream.next_out = compressed;