Most of these fall into one of several patterns.
- Missing const qualifiers. All but one of these were benign (i.e.,
adding "const" fixes the warning). The exception was in print_ip(),
where we write
cmd->addr.s_addr = htonl(cmd->addr.s_addr); <print statement> cmd->addr.s_addr = htonl(cmd->addr.s_addr);
so this can easily be fixed with a temporary variable.
- A global variable `co` shadowing local declarations. In ipfw2.c, some
code gets `co` through a function parameter for some reason. I
renamed the global `co` to `g_co`. I think this will help a bit if
anyone ever tries to convert this code to a libipfw.
- Using a signed int as an index variable where the loop bound is
unsigned. I just converted the variable to have the same type as the
- Missing static qualifiers on some functions.
- I left the -Wcast-align warnings alone. They are more involved to
fix. It might be sufficient to just add an __aligned qualifier to the
corresponding kernel types.