Surely the (size_t) casts are also fatuous ?