Commit 77c650f4 authored by Simon McVittie's avatar Simon McVittie

Merge branch '1-12-logical-op' into 'dbus-1.12'

Backport -Wlogical-op fixes to 1.12.x

See merge request !109
parents 177ef291 c6c6b423
Pipeline #31388 passed with stage
in 16 minutes and 50 seconds
...@@ -378,12 +378,16 @@ parse_comment_or_blank (BusDesktopFileParser *parser) ...@@ -378,12 +378,16 @@ parse_comment_or_blank (BusDesktopFileParser *parser)
static dbus_bool_t static dbus_bool_t
is_valid_section_name (const char *name) is_valid_section_name (const char *name)
{ {
/* 5. Group names may contain all ASCII characters except for control characters and '[' and ']'. */ /* 5. Group names may contain all ASCII characters except for control characters and '[' and ']'.
*
* We don't use isprint() here because it's locale-dependent. ASCII
* characters <= 0x1f and 0x7f are control characters, and bytes with
* values >= 0x80 aren't ASCII. 0x20 is a space, which we must allow,
* not least because DBUS_SERVICE_SECTION contains one. */
while (*name) while (*name)
{ {
if (!((*name >= 'A' && *name <= 'Z') || (*name >= 'a' || *name <= 'z') || if (*name <= 0x1f || *name >= 0x7f || *name == '[' || *name == ']')
*name == '\n' || *name == '\t'))
return FALSE; return FALSE;
name++; name++;
......
...@@ -4364,7 +4364,15 @@ _dbus_daemon_unpublish_session_bus_address (void) ...@@ -4364,7 +4364,15 @@ _dbus_daemon_unpublish_session_bus_address (void)
dbus_bool_t dbus_bool_t
_dbus_get_is_errno_eagain_or_ewouldblock (int e) _dbus_get_is_errno_eagain_or_ewouldblock (int e)
{ {
/* Avoid the -Wlogical-op GCC warning, which can be triggered when EAGAIN and
* EWOULDBLOCK are numerically equal, which is permitted as described by
* errno(3).
*/
#if EAGAIN == EWOULDBLOCK
return e == EAGAIN;
#else
return e == EAGAIN || e == EWOULDBLOCK; return e == EAGAIN || e == EWOULDBLOCK;
#endif
} }
/** /**
......
...@@ -289,13 +289,16 @@ main (int argc, char *argv[]) ...@@ -289,13 +289,16 @@ main (int argc, char *argv[])
} }
else if ((strstr (arg, "--bus=") == arg) || (strstr (arg, "--peer=") == arg) || (strstr (arg, "--address=") == arg)) else if ((strstr (arg, "--bus=") == arg) || (strstr (arg, "--peer=") == arg) || (strstr (arg, "--address=") == arg))
{ {
if (arg[2] == 'b') /* bus */ /* Check for peer first, to avoid the GCC -Wduplicated-branches
* warning.
*/
if (arg[2] == 'p') /* peer */
{ {
is_bus = TRUE; is_bus = FALSE;
} }
else if (arg[2] == 'p') /* peer */ else if (arg[2] == 'b') /* bus */
{ {
is_bus = FALSE; is_bus = TRUE;
} }
else /* address; keeping backwards compatibility */ else /* address; keeping backwards compatibility */
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment