Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changed NO_INT64 to INT64_IS_OFF_T because off_t might actually be
[rsync/rsync.git]
/
io.c
diff --git
a/io.c
b/io.c
index
4cf3302
..
a094561
100644
(file)
--- a/
io.c
+++ b/
io.c
@@
-744,13
+744,14
@@
int64 read_longint(int f)
if ((int32)ret != (int32)0xffffffff)
return ret;
if ((int32)ret != (int32)0xffffffff)
return ret;
-#ifdef NO_INT64
- rprintf(FERROR,"Integer overflow - attempted 64 bit offset\n");
- exit_cleanup(RERR_UNSUPPORTED);
-#else
+#ifdef INT64_IS_OFF_T
+ if (sizeof (int64) < 8) {
+ rprintf(FERROR, "Integer overflow: attempted 64-bit offset\n");
+ exit_cleanup(RERR_UNSUPPORTED);
+ }
+#endif
readfd(f,b,8);
ret = IVAL(b,0) | (((int64)IVAL(b,4))<<32);
readfd(f,b,8);
ret = IVAL(b,0) | (((int64)IVAL(b,4))<<32);
-#endif
return ret;
}
return ret;
}
@@
-1018,16
+1019,18
@@
void write_longint(int f, int64 x)
return;
}
return;
}
-#ifdef NO_INT64
- rprintf(FERROR,"Integer overflow - attempted 64 bit offset\n");
- exit_cleanup(RERR_UNSUPPORTED);
-#else
+#ifdef INT64_IS_OFF_T
+ if (sizeof (int64) < 8) {
+ rprintf(FERROR, "Integer overflow: attempted 64-bit offset\n");
+ exit_cleanup(RERR_UNSUPPORTED);
+ }
+#endif
+
write_int(f, (int32)0xFFFFFFFF);
SIVAL(b,0,(x&0xFFFFFFFF));
SIVAL(b,4,((x>>32)&0xFFFFFFFF));
writefd(f,b,8);
write_int(f, (int32)0xFFFFFFFF);
SIVAL(b,0,(x&0xFFFFFFFF));
SIVAL(b,4,((x>>32)&0xFFFFFFFF));
writefd(f,b,8);
-#endif
}
void write_buf(int f,char *buf,size_t len)
}
void write_buf(int f,char *buf,size_t len)