fix all -Wsigned-pointer warnings reported by clang/llvm-3.3
this turned out bigger than I expected, after I changed channel ids to be
unsigned...