return offset + hdrsize + patchsize;
 }
 
-const char pluses[] = "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
-const char minuses[]= "----------------------------------------------------------------------";
+static const char pluses[] = "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
+static const char minuses[]= "----------------------------------------------------------------------";
 
 static void show_stats(struct patch *patch)
 {
 
        printf("git-update-cache --add -- '%s'\n", name);
 }
 
-struct hdrentry {
+static struct hdrentry {
        const char *name;
        char *dest;
 } hdrs[] = {
 
 static struct fraction *one = NULL;
 static struct fraction *zero = NULL;
 
-static BN_CTX *get_BN_CTX()
+static BN_CTX *get_BN_CTX(void)
 {
        if (!context) {
                context = BN_CTX_new();
        return context;
 }
 
-static struct fraction *new_zero()
+static struct fraction *new_zero(void)
 {
        struct fraction *result = xmalloc(sizeof(*result));
        BN_init(&result->numerator);
        return fraction;
 }
 
-static struct fraction *get_one()
+static struct fraction *get_one(void)
 {
        if (!one) {
                one = new_zero();
        return one;
 }
 
-static struct fraction *get_zero()
+static struct fraction *get_zero(void)
 {
        if (!zero) {
                zero = new_zero();
 
                slash = strchr(path, '/');
                if (!slash) {
                        len = strlen(path);
-                       next = 0;
+                       next = NULL;
                }
                else {
                        next = slash + 1;
 
        char ref_name[0];
 };
 
-struct command *commands = NULL;
+static struct command *commands = NULL;
 
 static int is_all_zeroes(const char *hex)
 {
 
        return best;
 }
 
-struct commit_list *limit_list(struct commit_list *list)
+static struct commit_list *limit_list(struct commit_list *list)
 {
        struct commit_list *newlist = NULL;
        struct commit_list **p = &newlist;
 
        return inflate(stream, 0);
 }
 
-void *unpack_sha1_rest(z_stream *stream, void *buffer, unsigned long size)
+static void *unpack_sha1_rest(z_stream *stream, void *buffer, unsigned long size)
 {
        int bytes = strlen(buffer) + 1;
        unsigned char *buf = xmalloc(1+size);
 
        return ret;
 }
 
-int get_version(void)
+static int get_version(void)
 {
        char type = 'v';
        write(fd_out, &type, 1);
 
 
 #include <string.h>
 
-unsigned char local_version = 1;
-unsigned char remote_version = 0;
+static unsigned char local_version = 1;
+static unsigned char remote_version = 0;
 
-int serve_object(int fd_in, int fd_out) {
+static int serve_object(int fd_in, int fd_out) {
        ssize_t size;
        int posn = 0;
        unsigned char sha1[20];
        return 0;
 }
 
-int serve_version(int fd_in, int fd_out)
+static int serve_version(int fd_in, int fd_out)
 {
        if (read(fd_in, &remote_version, 1) < 1)
                return -1;
        return 0;
 }
 
-int serve_ref(int fd_in, int fd_out)
+static int serve_ref(int fd_in, int fd_out)
 {
        char ref[PATH_MAX];
        unsigned char sha1[20];
 }
 
 
-void service(int fd_in, int fd_out) {
+static void service(int fd_in, int fd_out) {
        char type;
        int retval;
        do {