fbe451a
diff -up diskdev_cmds-540.1.linux3/fsck_hfs.tproj/utilities.c.jx diskdev_cmds-540.1.linux3/fsck_hfs.tproj/utilities.c
fbe451a
--- diskdev_cmds-540.1.linux3/fsck_hfs.tproj/utilities.c.jx	2012-02-01 12:17:19.000000000 -0500
fbe451a
+++ diskdev_cmds-540.1.linux3/fsck_hfs.tproj/utilities.c	2014-06-18 13:44:45.125620007 -0400
fbe451a
@@ -296,11 +296,8 @@ static volatile int    keep_going = 1;
fbe451a
 #undef printf
fbe451a
 
fbe451a
 // prototype
fbe451a
-void print_to_mem(int type, const char *fmt, const char *str, va_list ap);
fbe451a
-
fbe451a
-#define  DO_VPRINT   1    // types for print_to_mem
fbe451a
-#define  DO_STR      2
fbe451a
-
fbe451a
+void vprint_to_mem(const char *fmt, va_list ap);
fbe451a
+void print_to_mem(const char *fmt, ...);
fbe451a
 
fbe451a
 static void *
fbe451a
 fsck_printing_thread(void *arg)
fbe451a
@@ -547,8 +544,8 @@ setup_logging(void)
fbe451a
 		cur_in_mem = in_mem_log;
fbe451a
 
fbe451a
 		t = time(NULL);
fbe451a
-		print_to_mem(DO_STR, "\n%s: ", cdevname ? cdevname : "UNKNOWN-DEV", NULL); 
fbe451a
-		print_to_mem(DO_STR, "fsck_hfs run at %s", ctime(&t), NULL);
fbe451a
+		print_to_mem("\n%s: ", cdevname ? cdevname : "UNKNOWN-DEV"); 
fbe451a
+		print_to_mem("fsck_hfs run at %s", ctime(&t);;
fbe451a
 
fbe451a
 		if (live_fsck && log_file) {
fbe451a
 		    pthread_cond_init(&mem_buf_cond, NULL);
fbe451a
@@ -576,26 +573,20 @@ setup_logging(void)
fbe451a
 
fbe451a
 
fbe451a
 void
fbe451a
-print_to_mem(int type, const char *fmt, const char *str, va_list ap)
fbe451a
+vprint_to_mem(const char *fmt, va_list ap)
fbe451a
 {
fbe451a
     int ret;
fbe451a
     size_t size_remaining;
fbe451a
     va_list ap_copy;
fbe451a
     
fbe451a
-    if (type == DO_VPRINT) {
fbe451a
-	va_copy(ap_copy, ap);
fbe451a
-    }
fbe451a
+    va_copy(ap_copy, ap);
fbe451a
     
fbe451a
     if (live_fsck) {
fbe451a
 	pthread_mutex_lock(&mem_buf_lock);
fbe451a
     }
fbe451a
 	
fbe451a
     size_remaining = in_mem_size - (ptrdiff_t)(cur_in_mem - in_mem_log);
fbe451a
-    if (type == DO_VPRINT) {
fbe451a
-	ret = vsnprintf(cur_in_mem, size_remaining, fmt, ap);
fbe451a
-    } else {
fbe451a
-	ret = snprintf(cur_in_mem, size_remaining, fmt, str);
fbe451a
-    }
fbe451a
+    ret = vsnprintf(cur_in_mem, size_remaining, fmt, ap);
fbe451a
     if (ret > size_remaining) {
fbe451a
 	char *new_log;
fbe451a
 	size_t amt;
fbe451a
@@ -619,11 +610,7 @@ print_to_mem(int type, const char *fmt,
fbe451a
 	cur_in_mem = new_log + (cur_in_mem - in_mem_log);
fbe451a
 	in_mem_log = new_log;
fbe451a
 	size_remaining = in_mem_size - (ptrdiff_t)(cur_in_mem - new_log);
fbe451a
-	if (type == DO_VPRINT) {
fbe451a
-	    ret = vsnprintf(cur_in_mem, size_remaining, fmt, ap_copy);
fbe451a
-	} else {
fbe451a
-	    ret = snprintf(cur_in_mem, size_remaining, fmt, str);
fbe451a
-	}
fbe451a
+	ret = vsnprintf(cur_in_mem, size_remaining, fmt, ap_copy);
fbe451a
 	if (ret <= size_remaining) {
fbe451a
 	    cur_in_mem += ret;
fbe451a
 	}
fbe451a
@@ -636,11 +623,18 @@ print_to_mem(int type, const char *fmt,
fbe451a
 	pthread_mutex_unlock(&mem_buf_lock);
fbe451a
     }
fbe451a
 done:
fbe451a
-    if (type == DO_VPRINT) {
fbe451a
-	va_end(ap_copy);
fbe451a
-    }
fbe451a
+    va_end(ap_copy);
fbe451a
 }
fbe451a
 
fbe451a
+void
fbe451a
+print_to_mem(const char *fmt, ...)
fbe451a
+{
fbe451a
+    va_list ap;
fbe451a
+
fbe451a
+    va_start(ap, fmt);
fbe451a
+    vprint_to_mem(fmt, ap);
fbe451a
+    va_end(ap);
fbe451a
+}
fbe451a
 
fbe451a
 static int need_prefix=1;
fbe451a
 
fbe451a
@@ -662,7 +656,7 @@ static int need_prefix=1;
fbe451a
 	LOG_PREFIX \
fbe451a
 	vfprintf(log_file, fmt, ap); \
fbe451a
     } else { \
fbe451a
-	print_to_mem(DO_VPRINT, fmt, NULL, ap);	\
fbe451a
+	vprint_to_mem(fmt, ap);	\
fbe451a
     }
fbe451a
 
fbe451a
 #define FLOG(fmt, str) \
fbe451a
@@ -670,7 +664,7 @@ static int need_prefix=1;
fbe451a
 	LOG_PREFIX;				\
fbe451a
 	fprintf(log_file, fmt, str);		\
fbe451a
     } else { \
fbe451a
-	print_to_mem(DO_STR, fmt, str, NULL);	\
fbe451a
+	print_to_mem(fmt, str);	\
fbe451a
     }
fbe451a
 
fbe451a
 
fbe451a
@@ -800,7 +794,7 @@ vplog(const char *fmt, va_list ap)
fbe451a
 	LOG_PREFIX;
fbe451a
 	vfprintf(log_file, fmt, ap);
fbe451a
     } else {
fbe451a
-	print_to_mem(DO_VPRINT, fmt, NULL, ap);
fbe451a
+	vprint_to_mem(fmt, ap);
fbe451a
     }
fbe451a
 }
fbe451a