/* Call calloc(3), exiting on NULL return. */
void *mh_xcalloc(size_t nelem, size_t elsize);
/* Call calloc(3), exiting on NULL return. */
void *mh_xcalloc(size_t nelem, size_t elsize);
/* Call free(3), if ptr isn't NULL. */
void mh_xfree(void *ptr);
/* Call free(3), if ptr isn't NULL. */
void mh_xfree(void *ptr);
/* Set p to point to newly allocated, zeroed, memory. */
#define NEW0(p) ((p) = mh_xcalloc(1, sizeof *(p)))
/* Set p to point to newly allocated, zeroed, memory. */
#define NEW0(p) ((p) = mh_xcalloc(1, sizeof *(p)))
char *rfind_str (const char [], size_t, const char *);
char *nmh_strcasestr (const char *, const char *);
char *rfind_str (const char [], size_t, const char *);
char *nmh_strcasestr (const char *, const char *);