Hola, lo que quiero hacer es un mini kernel. Me funciona y todo (al nivel que escribe algo y punto). En la función printf necesito que me recoja, el texto, el color, y las variables. Por ejemplo, la llamaría así:
int c
=32; printf("Intento patético de kernel.\nLa variable c es %d\n","red",c
);
Ya tengo el printf pero o solo consigo elegir color, o solo coger variables. Cuando intento los dos a la vez, ERROR.
Si sirve de algo, este es mi stdarg.h :
#ifndef _STDARG_H
#define _STDARG_H
typedef char *va_list;
#define __va_rounded_size(TYPE) \
(((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
#ifndef __sparc__
#define va_start(AP, LASTARG) \
(AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
#else
#define va_start(AP, LASTARG) \
(__builtin_saveregs (), \
AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
#endif
#define va_end(AP)
#define va_arg(AP, TYPE) \
(AP += __va_rounded_size (TYPE), \
*((TYPE *) (AP - __va_rounded_size (TYPE))))
#endif /* _STDARG_H */
Y el printf tendría esta forma (solo es parte):
int printf(char *text
, char *color
, ...
)
Ah y me equivoqué antes y puse "main" en vez de "printf", lo siento, pero ya dije que no tenía el código y me lié escribiendolo.