core: Fix lgtm.com warning about always true `if (bits > 0)`

Since we're not going to change this, let's constant fold the logic
here.
This commit is contained in:
Colin Walters 2021-03-27 14:06:22 +00:00
parent 80e4f27a59
commit b5c21defe9
1 changed files with 9 additions and 15 deletions

View File

@ -391,24 +391,18 @@ variant_to_lenprefixed_buffer (GVariant *variant)
const guint32 variant_size_u32_be = GUINT32_TO_BE((guint32) variant_size); const guint32 variant_size_u32_be = GUINT32_TO_BE((guint32) variant_size);
g_string_append_len (buf, (char*)&variant_size_u32_be, sizeof (variant_size_u32_be)); g_string_append_len (buf, (char*)&variant_size_u32_be, sizeof (variant_size_u32_be));
const gsize alignment_offset = sizeof (variant_size_u32_be);
/* Write NULs for alignment. At the moment this is a constant 4 bytes (i.e. /* Write NULs for alignment. At the moment this is a constant 4 bytes (i.e.
* align to 8, since the length is 4 bytes). For now, I decided to keep some * align to 8, since the length is 4 bytes). If we ever change this, the
* of the (now legacy) more generic logic here in case we want to revive it * logic is here:
* later.
*/ */
const guint alignment = 8; // const gsize alignment_offset = sizeof (variant_size_u32_be);
const guchar padding_nuls[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // const guint bits = alignment_offset & 7; /* mod 8 */
guint bits; // const guint padding_len = alignment - bits;
if (alignment == 8) #define padding_len sizeof(guint32)
bits = alignment_offset & 7; /* mod 8 */ const guchar padding_nuls[padding_len] = {0, 0, 0, 0};
else
bits = alignment_offset & 3; /* mod 4 */
const guint padding_len = alignment - bits;
if (bits > 0)
g_string_append_len (buf, (char*)padding_nuls, padding_len); g_string_append_len (buf, (char*)padding_nuls, padding_len);
#undef padding_len
g_string_append_len (buf, (char*)g_variant_get_data (variant), g_variant_get_size (variant)); g_string_append_len (buf, (char*)g_variant_get_data (variant), g_variant_get_size (variant));
return g_string_free_to_bytes (g_steal_pointer (&buf)); return g_string_free_to_bytes (g_steal_pointer (&buf));