avoid pointer size warnings: cast size_t to unsigned long, format as such