In expressions of the form
m != NULL && m[0] == '\0' ? NULL : m
the goal is to get a `NULL` pointer if `m` is either `NULL` or an empty
string. This is not clear because in the `m == NULL` case we use the
`m` side to get `NULL` instead of an explicit `NULL`. Clarify the
intent by using the form
(m != NULL && m[0] != '\0') ? m : NULL;
instead.
archive_check_magic(a, magic, ARCHIVE_STATE_NEW, fn);
- mp = m != NULL && m[0] == '\0' ? NULL : m;
- op = o != NULL && o[0] == '\0' ? NULL : o;
- vp = v != NULL && v[0] == '\0' ? NULL : v;
+ mp = (m != NULL && m[0] != '\0') ? m : NULL;
+ op = (o != NULL && o[0] != '\0') ? o : NULL;
+ vp = (v != NULL && v[0] != '\0') ? v : NULL;
if (op == NULL && vp == NULL)
return (ARCHIVE_OK);