diff --git a/ChangeLog b/ChangeLog
index fddfb18..bf847fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,8 @@
 20010225
  - (djm) Use %{_libexecdir} rather than hardcoded path in RPM specfile
    Patch from Adrian Ho <lexfiend@usa.net>
+ - (bal) Replace 'unsigned long long' to 'u_int64_t' since not every
+   platform defines u_int64_t as being that.
 
 20010224
  - (bal) Missed part of the UNIX sockets patch.  Patch by Corinna 
@@ -4124,4 +4126,4 @@
  - Wrote replacements for strlcpy and mkdtemp
  - Released 1.0pre1
 
-$Id: ChangeLog,v 1.820 2001/02/24 22:36:29 djm Exp $
+$Id: ChangeLog,v 1.821 2001/02/25 02:02:43 mouring Exp $
diff --git a/sftp-client.c b/sftp-client.c
index 7c234ce..5242cab 100644
--- a/sftp-client.c
+++ b/sftp-client.c
@@ -613,7 +613,7 @@
 		buffer_put_int(&msg, COPY_SIZE);
 		send_msg(fd_out, &msg);
 		debug3("Sent message SSH2_FXP_READ I:%d O:%llu S:%u",
-		    id, (unsigned long long)offset, COPY_SIZE);
+		    id, (u_int64_t)offset, COPY_SIZE);
 
 		buffer_clear(&msg);
 
@@ -646,7 +646,7 @@
 			    len, COPY_SIZE);
 
 		debug3("In read loop, got %d offset %llu", len,
-		    (unsigned long long)offset);
+		    (u_int64_t)offset);
 		if (atomicio(write, local_fd, data, len) != len) {
 			error("Couldn't write to \"%s\": %s", local_path,
 			    strerror(errno));
@@ -767,7 +767,7 @@
 		buffer_put_string(&msg, data, len);
 		send_msg(fd_out, &msg);
 		debug3("Sent message SSH2_FXP_WRITE I:%d O:%llu S:%u",
-		    id, (unsigned long long)offset, len);
+		    id, (u_int64_t)offset, len);
 
 		status = get_status(fd_in, id);
 		if (status != SSH2_FX_OK) {
@@ -778,7 +778,7 @@
 			goto done;
 		}
 		debug3("In write loop, got %d offset %llu", len,
-		    (unsigned long long)offset);
+		    (u_int64_t)offset);
 
 		offset += len;
 	}
diff --git a/sftp-server.c b/sftp-server.c
index 0291da2..e959a55 100644
--- a/sftp-server.c
+++ b/sftp-server.c
@@ -402,7 +402,7 @@
 	len = get_int();
 
 	TRACE("read id %d handle %d off %llu len %d", id, handle,
-	    (unsigned long long)off, len);
+	    (u_int64_t)off, len);
 	if (len > sizeof buf) {
 		len = sizeof buf;
 		log("read change len %d", len);
@@ -443,7 +443,7 @@
 	data = get_string(&len);
 
 	TRACE("write id %d handle %d off %llu len %d", id, handle,
-	    (unsigned long long)off, len);
+	    (u_int64_t)off, len);
 	fd = handle_to_fd(handle);
 	if (fd >= 0) {
 		if (lseek(fd, off, SEEK_SET) < 0) {
@@ -685,7 +685,7 @@
 	if (sz == 0)
 		tbuf[0] = '\0';
 	snprintf(buf, sizeof buf, "%s %3d %-8.8s %-8.8s %8llu %s %s", mode,
-	    st->st_nlink, user, group, (unsigned long long)st->st_size, tbuf, name);
+	    st->st_nlink, user, group, (u_int64_t)st->st_size, tbuf, name);
 	return xstrdup(buf);
 }
 
