Add vprintk function for kernel printing from routines

which have already obtained the va_list pointer.
This commit is contained in:
Eric Norum
2002-10-30 19:47:03 +00:00
parent 489782d481
commit 108bab3ee7
2 changed files with 13 additions and 4 deletions
+2
View File
@@ -32,6 +32,8 @@ extern BSP_polling_getchar_function_type BSP_poll_char;
* the files contained in this directory PROVIDED definition
* and initialisation of the previous variable are done.
*/
#include <stdarg.h>
extern void vprintk(char *fmt, va_list ap);
extern void printk(char *fmt, ...);
#endif
+11 -4
View File
@@ -73,16 +73,14 @@ printNum(long unsigned int num, int base, int sign, int maxwidth, int lead)
| Returns: Nothing.
+--------------------------------------------------------------------------*/
void
printk(char *fmt, ...)
vprintk(char *fmt, va_list ap)
{
va_list ap; /* points to each unnamed argument in turn */
char c, *str;
int lflag, base, sign, width, lead;
/* unsigned int level; */
/* _CPU_ISR_Disable(level); */
va_start(ap, fmt); /* make ap point to 1st unnamed arg */
for (; *fmt != '\0'; fmt++)
{
lflag = 0;
@@ -143,8 +141,17 @@ printk(char *fmt, ...)
BSP_output_char(*fmt);
}
}
va_end(ap); /* clean up when done */
/* _CPU_ISR_Enable(level); */
} /* vprintk */
void
printk(char *fmt, ...)
{
va_list ap; /* points to each unnamed argument in turn */
va_start(ap, fmt); /* make ap point to 1st unnamed arg */
vprintk(fmt, ap);
va_end(ap); /* clean up when done */
} /* printk */