msvc compiler warning: signed-unsigned mismatch.