h_literal() produces pointer signedness warnings
The macro h_literal()
is defined in hammer.h
as #define h_literal(s) h_token(s, sizeof(s)-1)
, but h_token()
takes a const uint8_t *
. If you pass a string literal to h_literal()
it produces a pointer signedness warning, and if you cast one to const uint8_t *
the sizeof()
silently breaks. The macro should be replaced with one that has the cast to const uint8_t *
and is suitable for direct invocation with string literals.