summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalph Boehme <rb@sernet.de>2014-06-01 15:16:16 +0200
committerMichael Adam <obnox@samba.org>2014-06-13 13:22:18 +0200
commit3defbe273459262f333cca91e90a0941a812df1a (patch)
tree4737099ca5071ec0bb604928b7b78b72ab6478cf
parent00573880e5f0362c3c442e82501bb0efe731ce7b (diff)
downloadsamba-3defbe273459262f333cca91e90a0941a812df1a.tar.gz
samba-3defbe273459262f333cca91e90a0941a812df1a.tar.xz
samba-3defbe273459262f333cca91e90a0941a812df1a.zip
locking: use correct conversion specifier for printing variables
Fix several occurences of using printf conversion to fload when printing offset and count variables in locking debug messages and smbstatus. Conversion to float may lead to wrong results with very large values. Signed-off-by: Ralph Boehme <rb@sernet.de> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r--source3/locking/locking.c4
-rw-r--r--source3/locking/posix.c13
-rw-r--r--source3/utils/status.c4
3 files changed, 11 insertions, 10 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index 4ef6b8936a4..b3f65ee6a49 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -266,10 +266,10 @@ struct byte_range_lock *do_lock(struct messaging_context *msg_ctx,
/* NOTE! 0 byte long ranges ARE allowed and should be stored */
- DEBUG(10,("do_lock: lock flavour %s lock type %s start=%.0f len=%.0f "
+ DEBUG(10,("do_lock: lock flavour %s lock type %s start=%ju len=%ju "
"blocking_lock=%s requested for %s file %s\n",
lock_flav_name(lock_flav), lock_type_name(lock_type),
- (double)offset, (double)count, blocking_lock ? "true" :
+ (uintmax_t)offset, (uintmax_t)count, blocking_lock ? "true" :
"false", fsp_fnum_dbg(fsp), fsp_str_dbg(fsp)));
br_lck = brl_get_locks(talloc_tos(), fsp);
diff --git a/source3/locking/posix.c b/source3/locking/posix.c
index 2d89110b7d3..908cd57d5d8 100644
--- a/source3/locking/posix.c
+++ b/source3/locking/posix.c
@@ -186,7 +186,8 @@ static bool posix_fcntl_lock(files_struct *fsp, int op, off_t offset, off_t coun
{
bool ret;
- DEBUG(8,("posix_fcntl_lock %d %d %.0f %.0f %d\n",fsp->fh->fd,op,(double)offset,(double)count,type));
+ DEBUG(8,("posix_fcntl_lock %d %d %jd %jd %d\n",
+ fsp->fh->fd,op,(intmax_t)offset,(intmax_t)count,type));
ret = SMB_VFS_LOCK(fsp, op, offset, count, type);
@@ -1165,9 +1166,9 @@ bool set_posix_lock_posix_flavour(files_struct *fsp,
off_t count;
int posix_lock_type = map_posix_lock_type(fsp,lock_type);
- DEBUG(5,("set_posix_lock_posix_flavour: File %s, offset = %.0f, count "
- "= %.0f, type = %s\n", fsp_str_dbg(fsp),
- (double)u_offset, (double)u_count,
+ DEBUG(5,("set_posix_lock_posix_flavour: File %s, offset = %ju, count "
+ "= %ju, type = %s\n", fsp_str_dbg(fsp),
+ (uintmax_t)u_offset, (uintmax_t)u_count,
posix_lock_type_name(lock_type)));
/*
@@ -1181,8 +1182,8 @@ bool set_posix_lock_posix_flavour(files_struct *fsp,
if (!posix_fcntl_lock(fsp,F_SETLK,offset,count,posix_lock_type)) {
*errno_ret = errno;
- DEBUG(5,("set_posix_lock_posix_flavour: Lock fail !: Type = %s: offset = %.0f, count = %.0f. Errno = %s\n",
- posix_lock_type_name(posix_lock_type), (double)offset, (double)count, strerror(errno) ));
+ DEBUG(5,("set_posix_lock_posix_flavour: Lock fail !: Type = %s: offset = %ju, count = %ju. Errno = %s\n",
+ posix_lock_type_name(posix_lock_type), (intmax_t)offset, (intmax_t)count, strerror(errno) ));
return False;
}
return True;
diff --git a/source3/utils/status.c b/source3/utils/status.c
index 61a450e977b..7bbcea5637c 100644
--- a/source3/utils/status.c
+++ b/source3/utils/status.c
@@ -240,10 +240,10 @@ static void print_brl(struct file_id id,
}
}
- d_printf("%-10s %-15s %-4s %-9.0f %-9.0f %-24s %-24s\n",
+ d_printf("%-10s %-15s %-4s %-9jd %-9jd %-24s %-24s\n",
procid_str_static(&pid), file_id_string_tos(&id),
desc,
- (double)start, (double)size,
+ (intmax_t)start, (intmax_t)size,
sharepath, fname);
TALLOC_FREE(fname);