mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 14:37:10 +08:00
Modify rtems_bsd_set_vprintf_handler()
Return previous vprintf()-handler in rtems_bsd_set_vprintf_handler().
This commit is contained in:
@@ -206,15 +206,22 @@ int rtems_bsd_bus_root_resume(void);
|
||||
*/
|
||||
int rtems_bsd_bus_root_detach(void);
|
||||
|
||||
/**
|
||||
* @brief The output back-end for logging functions.
|
||||
*/
|
||||
typedef int (*rtems_bsd_vprintf_handler)(int, const char *, va_list);
|
||||
|
||||
/**
|
||||
* @brief Sets the output back-end for logging functions.
|
||||
*
|
||||
* @param new_vprintf_handler The new output back-end for logging functions.
|
||||
* @param new_handler The new output back-end for logging functions.
|
||||
*
|
||||
* @return The previous handler.
|
||||
*
|
||||
* @see rtems_bsd_vprintf().
|
||||
*/
|
||||
void rtems_bsd_set_vprintf_handler(int (*new_vprintf_handler)
|
||||
(int, const char *, va_list));
|
||||
rtems_bsd_vprintf_handler rtems_bsd_set_vprintf_handler(
|
||||
rtems_bsd_vprintf_handler new_handler);
|
||||
|
||||
/**
|
||||
* @brief Output back-end for logging functions.
|
||||
|
@@ -103,12 +103,16 @@ default_vprintf_handler(int level, const char *fmt, va_list ap)
|
||||
static int (*vprintf_handler)(int, const char *, va_list) =
|
||||
default_vprintf_handler;
|
||||
|
||||
void
|
||||
rtems_bsd_set_vprintf_handler(int (*new_vprintf_handler)
|
||||
(int, const char *, va_list))
|
||||
rtems_bsd_vprintf_handler
|
||||
rtems_bsd_set_vprintf_handler(rtems_bsd_vprintf_handler new_handler)
|
||||
{
|
||||
rtems_bsd_vprintf_handler old_handler;
|
||||
|
||||
vprintf_handler = new_vprintf_handler;
|
||||
VPRINTF_LOCK();
|
||||
old_handler = vprintf_handler;
|
||||
vprintf_handler = new_handler;
|
||||
VPRINTF_UNLOCK();
|
||||
return (old_handler);
|
||||
}
|
||||
|
||||
int
|
||||
|
Reference in New Issue
Block a user