[libvirt] [PATCH 2/9] s/long long/size_t/ for file line numbers in logging code
Eric Blake
eblake at redhat.com
Thu Sep 27 19:05:55 UTC 2012
On 09/27/2012 10:44 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange at redhat.com>
>
> The __LINE__ macro value is specified to fit in the size_t
Not quite accurate. C99 merely says:
6.10.4 p3:
... a line number as specified by the digit sequence (interpreted as
a decimal integer). The digit sequence shall not specify zero, nor a
number greater than
2147483647.
6.10.8 p1:
_ _LINE_ _ The presumed line number (within the current source file) of
the current
source line (an integer constant).
So in fact, __LINE__ is guaranteed to fit within a 32-bit signed
integer, and you could s/size_t/int/ with no loss in functionality since
we don't port to 16-bit 'int' platforms. That said, I'm not too fussed
with things; size_t is definitely better than 'long long', so I'm okay
even if you don't further relax to 'int'.
> type, so use that instead of 'long long' in the logging code
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> src/util/logging.c | 14 +++++++-------
> src/util/logging.h | 6 +++---
> 2 files changed, 10 insertions(+), 10 deletions(-)
Again, testing failed:
testutils.c: In function 'virtTestMain':
testutils.c:613:32: error: passing argument 1 of 'virLogDefineOutput'
from incompatible pointer type [-Werror]
In file included from testutils.c:47:0:
../src/util/logging.h:127:12: note: expected 'virLogOutputFunc' but
argument is of type 'void (*)(const char *, enum virLogPriority, const
char *, long long int, const char *, unsigned int, const char *, const
char *, void *)'
cc1: all warnings being treated as errors
ACK with this squashed in (or the obvious change if you go all the way
to int):
diff --git i/tests/testutils.c w/tests/testutils.c
index 86be3f5..a85f560 100644
--- i/tests/testutils.c
+++ w/tests/testutils.c
@@ -483,7 +483,7 @@ static void
virtTestLogOutput(const char *category ATTRIBUTE_UNUSED,
virLogPriority priority ATTRIBUTE_UNUSED,
const char *funcname ATTRIBUTE_UNUSED,
- long long lineno ATTRIBUTE_UNUSED,
+ size_t lineno ATTRIBUTE_UNUSED,
const char *timestamp,
unsigned int flags,
const char *rawstr ATTRIBUTE_UNUSED,
--
Eric Blake eblake at redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120927/fda35f07/attachment-0001.sig>
More information about the libvir-list
mailing list