ret -= (c >> 7);
in line #157 of netcat_flag_count() in flagset.c assumes char variables to be signed. However, this is platform/compiler dependent, and char variables may also be unsigned. For unsigned char, the code will always return a negative flag count, which will then be taken to mean that no ports are to be addressed.
A possible and simple fix seems to be to add a cast to the expression in line #157, i.e.:
ret -= ((signed char)c >> 7);