fix clang -Wconversion except -Wsign-conversion