HomePhabricator

dirstate: make dirstate flags char be unsigned

Authored by martinvonz.

Description

dirstate: make dirstate flags char be unsigned

Since https://phab.mercurial-scm.org/D11387, `CC='clang -Werror' make
local` has started failing like this:

mercurial/cext/util.h:41:50: error: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Werror,-Wconstant-conversion]
static const char dirstate_flag_rust_special = 1 << 7;
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~^~~~

This patch fixes that by making the flags be an unsigned char. That
also matches the bool typedef we have in util.h, which seems good
since many of the dirstate_item_c_*() functions return a bool.

Differential Revision: https://phab.mercurial-scm.org/D11444

Details