예제 #1
0
파일: printk.c 프로젝트: samuelts/naiveos
void printk_color(real_color_t back, real_color_t fore, const char *format, ...)
{
    va_list args;
    
    va_start(args, format);
    const char *string = get_printk_string(format, args);
    va_end(args);
    
    console_write_color(string, back, fore);
}
예제 #2
0
파일: printk.c 프로젝트: liexusong/tiny-os
void cprintk(real_color_t color, const char * format, ...)
{
	static char buf[10240];
	va_list args;
	int len;

	va_start(args, format);
	len = vsprintf(buf, format, args);
	va_end(args);

	if (len > 0) {
		console_write_color(buf, rc_black, color);
	}
}
예제 #3
0
void printk_color(real_color_t back, real_color_t fore, const char *format, ...)
{
	// 避免频繁创建临时变量,内核的栈很宝贵
	static char buff[1024];
	va_list args;
	int i;

	va_start(args, format);
	i = vsprintf(buff, format, args);
	va_end(args);

	buff[i] = '\0';

	console_write_color(buff, back, fore);
}