+void *
+mh_xcalloc(size_t nmemb, size_t size)
+{
+ void *memory;
+
+ if (nmemb == 0 || size == 0)
+ adios(EX_SOFTWARE, NULL, "Tried to calloc 0 bytes");
+
+ if ((memory = calloc(nmemb, size))) {
+ return memory;
+ } else {
+ adios(EX_OSERR, NULL, "calloc failed");
+ }
+}
+
+/*
+** Return the present working directory, if the current directory does not
+** exist, or is too long, make / the pwd.
+*/