[Libguestfs] [PATCH nbdkit] server: Use bool for types which are really booleans.
Eric Blake
eblake at redhat.com
Wed Jan 2 14:54:15 UTC 2019
On 1/1/19 12:21 PM, Richard W.M. Jones wrote:
> For mainly historical reasons we tended to use int to store boolean
> values. However using bool is probably safer in some corner cases
> (eg. ‘v == true’ can fail badly if v is an int, but works for bool).
The problems only occur when v is an int and set to something other than
0 or 1. But yes, in general using the bool type is worth doing.
> bool was added in C99 so let's use it.
> ---
> server/internal.h | 16 +++++------
> server/connections.c | 28 +++++++++---------
> server/crypto.c | 4 +--
> server/main.c | 67 ++++++++++++++++++++++----------------------
> server/plugins.c | 2 +-
> 5 files changed, 59 insertions(+), 58 deletions(-)
> +++ b/server/connections.c
> @@ -78,13 +78,13 @@ struct connection {
> uint32_t cflags;
> uint64_t exportsize;
> uint16_t eflags;
> - int readonly;
> - int can_flush;
> - int is_rotational;
> - int can_trim;
> - int can_zero;
> - int can_fua;
> - int using_tls;
> + bool readonly;
> + bool can_flush;
> + bool is_rotational;
> + bool can_trim;
> + bool can_zero;
> + bool can_fua;
> + bool using_tls;
Some of these were 'int' because they have tri-state returns from the
client (-1 for error, or 0/1 for success). I suppose that making them
bool means that you only store into it after checking for errors, but it
does mean that we have to audit a bit more carefully that we aren't
accidentally turning -1 into true.
But I didn't spot any obvious problems, so I think the patch is good to go.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190102/3631e6cb/attachment.sig>
More information about the Libguestfs
mailing list