printf formatting for size_t is tricky. Needs to be proper for avoiding different size architectures