Consider the following definition of a function hash.
size_t hash( const char *str ) { size_t h = 0; for( ; *str != '0'; str++ ) h = h*256 + *str; }
What, if anything, is wrong with hash as a hash function for null-terminated strings?