function old new delta buffer_fill_and_print 179 196 +17 fflush_all - 9 +9 spawn 87 92 +5 rtcwake_main 455 453 -2 ... alarm_intr 93 84 -9 readcmd 1072 1062 -10 bb_ask 345 333 -12 more_main 845 832 -13 flush_stdout_stderr 42 23 -19 xfflush_stdout 27 - -27 flush_stderr 30 - -30 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 2/50 up/down: 31/-397) Total: -366 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* vi: set sw=4 ts=4: */
 | |
| /*
 | |
|  * Utility routines.
 | |
|  *
 | |
|  * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
 | |
|  *
 | |
|  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
 | |
|  */
 | |
| 
 | |
| #include "libbb.h"
 | |
| #include <syslog.h>
 | |
| 
 | |
| void FAST_FUNC bb_info_msg(const char *s, ...)
 | |
| {
 | |
| #ifdef THIS_ONE_DOESNT_DO_SINGLE_WRITE
 | |
| 	va_list p;
 | |
| 	/* va_copy is used because it is not portable
 | |
| 	 * to use va_list p twice */
 | |
| 	va_list p2;
 | |
| 
 | |
| 	va_start(p, s);
 | |
| 	va_copy(p2, p);
 | |
| 	if (logmode & LOGMODE_STDIO) {
 | |
| 		vprintf(s, p);
 | |
| 		fputs(msg_eol, stdout);
 | |
| 	}
 | |
| 	if (ENABLE_FEATURE_SYSLOG && (logmode & LOGMODE_SYSLOG))
 | |
| 		vsyslog(LOG_INFO, s, p2);
 | |
| 	va_end(p2);
 | |
| 	va_end(p);
 | |
| #else
 | |
| 	int used;
 | |
| 	char *msg;
 | |
| 	va_list p;
 | |
| 
 | |
| 	if (logmode == 0)
 | |
| 		return;
 | |
| 
 | |
| 	va_start(p, s);
 | |
| 	used = vasprintf(&msg, s, p);
 | |
| 	if (used < 0)
 | |
| 		return;
 | |
| 
 | |
| 	if (ENABLE_FEATURE_SYSLOG && (logmode & LOGMODE_SYSLOG))
 | |
| 		syslog(LOG_INFO, "%s", msg);
 | |
| 	if (logmode & LOGMODE_STDIO) {
 | |
| 		fflush_all();
 | |
| 		/* used = strlen(msg); - must be true already */
 | |
| 		msg[used++] = '\n';
 | |
| 		full_write(STDOUT_FILENO, msg, used);
 | |
| 	}
 | |
| 
 | |
| 	free(msg);
 | |
| 	va_end(p);
 | |
| #endif
 | |
| }
 |