Code

build: make code "-Wpointer-arith" clean
authorJunio C Hamano <gitster@pobox.com>
Tue, 2 Feb 2010 06:04:03 +0000 (22:04 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 2 Feb 2010 06:04:03 +0000 (22:04 -0800)
Recently introduced resolve_undo_read() expected arithmetic to (void *)
to work on byte-addresses.  Correct this.

Noticed by Brandon Casey.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
resolve-undo.c
resolve-undo.h

index 37d73cd949bd884397615d0f6399bd64a88e20a1..0f50ee0484776c545e632cde69b0646629a3b190 100644 (file)
@@ -53,7 +53,7 @@ void resolve_undo_write(struct strbuf *sb, struct string_list *resolve_undo)
        for_each_string_list(write_one, resolve_undo, sb);
 }
 
-struct string_list *resolve_undo_read(void *data, unsigned long size)
+struct string_list *resolve_undo_read(const char *data, unsigned long size)
 {
        struct string_list *resolve_undo;
        size_t len;
@@ -93,7 +93,7 @@ struct string_list *resolve_undo_read(void *data, unsigned long size)
                                continue;
                        if (size < 20)
                                goto error;
-                       hashcpy(ui->sha1[i], data);
+                       hashcpy(ui->sha1[i], (const unsigned char *)data);
                        size -= 20;
                        data += 20;
                }
index e4e5c1b1ad5b3fc7d5a2d516ab3ccccb3e88b993..845876911db978c6262dacd9aa122ce9d55bf234 100644 (file)
@@ -8,7 +8,7 @@ struct resolve_undo_info {
 
 extern void record_resolve_undo(struct index_state *, struct cache_entry *);
 extern void resolve_undo_write(struct strbuf *, struct string_list *);
-extern struct string_list *resolve_undo_read(void *, unsigned long);
+extern struct string_list *resolve_undo_read(const char *, unsigned long);
 extern void resolve_undo_clear_index(struct index_state *);
 extern int unmerge_index_entry_at(struct index_state *, int);
 extern void unmerge_index(struct index_state *, const char **);