[Spice-devel] [spice 0/2] utils: Remove the LL suffix from the NSEC_PER_* constants

Francois Gouget fgouget at codeweavers.com
Wed May 22 08:18:58 UTC 2019



The LL suffix forces the expressions these constants are used in to be 
computed in 64 bit. The good thing is that this avoids overflows. The 
downside is that, because the LL suffix is hidden in a far away macro, 
looking at the expression will not reveal whether it operates on 32 or 
64 bit integers.

This is made even more confusing by the fact that not all the NSEC_PER_* 
constants have the LL suffix.

Then when a developper adds a spice_debug() trace using one of these 
constants it also makes it hard to know in advance whether %ld or %lld 
should be used, causing unnecessary compilation errors.

Finally, while the main NSEC_PER_* constants fit in 32 bit some of the 
derived ones such as COMMON_CLIENT_TIMEOUT don't. For those use an 
uint64_t cast rather than an LL suffix to avoid the %ld vs. %lld 
confusion (again for debugging).


Francois Gouget (2):
  utils: Remove the LL suffix from NSEC_PER_MILLISEC
  utils: Remove the LL suffix from NSEC_PER_SEC

 server/common-graphics-channel.h | 2 +-
 server/dcc.h                     | 2 +-
 server/gstreamer-encoder.c       | 2 +-
 server/mjpeg-encoder.c           | 2 +-
 server/utils.h                   | 6 +++---
 server/video-stream.c            | 4 ++--
 server/video-stream.h            | 2 +-
 7 files changed, 10 insertions(+), 10 deletions(-)

-- 
2.20.1


More information about the Spice-devel mailing list