I don't suppose fwrite(buf, UINT_MAX, UINT_MAX, stream) is defined either? This is assuming that size_t is an unsigned int. By the way, why isn't there a SIZE_T_MAX in limits.h? -- Felix Lee flee at cs.psu.edu