git-tar-tree: no more void pointer arithmetic
authorRene Scharfe <rene.scharfe@lsrfire.ath.cx>
Sun, 18 Jun 2006 10:58:01 +0000 (12:58 +0200)
committerJunio C Hamano <junkio@cox.net>
Sun, 18 Jun 2006 11:18:43 +0000 (04:18 -0700)
Noticed by Florian Forster: Use a char pointer when adding offsets,
because void pointer arithmetic is a GNU extension.   Const'ify the
function arguments while we're at it.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-tar-tree.c

index f646c5b..39a61b6 100644 (file)
@@ -22,8 +22,10 @@ static unsigned long offset;
 static time_t archive_time;
 
 /* tries hard to write, either succeeds or dies in the attempt */
-static void reliable_write(void *buf, unsigned long size)
+static void reliable_write(const void *data, unsigned long size)
 {
+       const char *buf = data;
+
        while (size > 0) {
                long ret = xwrite(1, buf, size);
                if (ret < 0) {
@@ -51,8 +53,9 @@ static void write_if_needed(void)
  * queues up writes, so that all our write(2) calls write exactly one
  * full block; pads writes to RECORDSIZE
  */
-static void write_blocked(void *buf, unsigned long size)
+static void write_blocked(const void *data, unsigned long size)
 {
+       const char *buf = data;
        unsigned long tail;
 
        if (offset) {