mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-27 01:49:26 +08:00
Add vprintk function for kernel printing from routines
which have already obtained the va_list pointer.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user