diff -ur samba-3.0.20b-orig/source/tdb/tdb.c samba-3.0.20b/source/tdb/tdb.c --- samba-3.0.20b-orig/source/tdb/tdb.c 2005-10-12 17:03:46.000000000 +0000 +++ samba-3.0.20b/source/tdb/tdb.c 2005-11-17 13:19:07.000000000 +0000 @@ -403,9 +403,9 @@ if (tdb->map_ptr) memcpy(off + (char *)tdb->map_ptr, buf, len); #ifdef HAVE_PWRITE - else if (pwrite(tdb->fd, buf, len, off) != (ssize_t)len) { + else if (pwrite(tdb->fd, buf, len, (off_t)off) != (ssize_t)len) { #else - else if (lseek(tdb->fd, off, SEEK_SET) != off + else if (lseek(tdb->fd, (off_t)off, SEEK_SET) != off || write(tdb->fd, buf, len) != (ssize_t)len) { #endif /* Ensure ecode is set for log fn. */ @@ -426,9 +426,9 @@ if (tdb->map_ptr) memcpy(buf, off + (char *)tdb->map_ptr, len); #ifdef HAVE_PREAD - else if (pread(tdb->fd, buf, len, off) != (ssize_t)len) { + else if (pread(tdb->fd, buf, len, (off_t)off) != (ssize_t)len) { #else - else if (lseek(tdb->fd, off, SEEK_SET) != off + else if (lseek(tdb->fd, (off_t)off, SEEK_SET) != off || read(tdb->fd, buf, len) != (ssize_t)len) { #endif /* Ensure ecode is set for log fn. */ @@ -763,9 +763,9 @@ char b = 0; #ifdef HAVE_PWRITE - if (pwrite(tdb->fd, &b, 1, (size+addition) - 1) != 1) { + if (pwrite(tdb->fd, &b, 1, (off_t)((size+addition) - 1)) != 1) { #else - if (lseek(tdb->fd, (size+addition) - 1, SEEK_SET) != (size+addition) - 1 || + if (lseek(tdb->fd, (off_t)((size+addition) - 1), SEEK_SET) != (size+addition) - 1 || write(tdb->fd, &b, 1) != 1) { #endif TDB_LOG((tdb, 0, "expand_file to %d failed (%s)\n", @@ -780,10 +780,10 @@ while (addition) { int n = addition>sizeof(buf)?sizeof(buf):addition; #ifdef HAVE_PWRITE - int ret = pwrite(tdb->fd, buf, n, size); + int ret = pwrite(tdb->fd, buf, n, (off_t)size); #else int ret; - if (lseek(tdb->fd, size, SEEK_SET) != size) + if (lseek(tdb->fd, (off_t)size, SEEK_SET) != size) return -1; ret = write(tdb->fd, buf, n); #endif