64 bits. The code now only complains if int64 is really too short.
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);
-#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);
}
void write_buf(int f,char *buf,size_t len)
}
void write_buf(int f,char *buf,size_t len)
get_panic_action());
#endif
get_panic_action());
#endif
-#ifdef NO_INT64
- rprintf(f, "WARNING: no 64-bit integers on this platform!\n");
+#ifdef INT64_IS_OFF_T
+ if (sizeof (int64) < 8)
+ rprintf(f, "WARNING: no 64-bit integers on this platform!\n");
#else
/* As long as it gets... */
#define int64 off_t
#else
/* As long as it gets... */
#define int64 off_t
#endif
#if (SIZEOF_LONG == 8)
#endif
#if (SIZEOF_LONG == 8)