/*========== utility functions etc. ==========*/
+/* error trapping wrappers are called mfoo rather than the more
+ * conventional xfoo because we don't want to clash with the existing
+ * xfoo functions in INN libs which use different error handlers
+ */
+
static char *mvasprintf(const char *fmt, va_list al) PRINTF(1,0);
static char *mvasprintf(const char *fmt, va_list al) {
char *str;