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.zip
samba-3defbe273459262f333cca91e90a0941a812df1a.tar.gz
samba-3defbe273459262f333cca91e90a0941a812df1a.tar.xz
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 4ef6b89..b3f65ee 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 2d89110..908cd57 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 61a450e..7bbcea5 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);