mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-01-29 09:58:32 +00:00
st/oxr: Add pretty print integration in oxr_sink_logger
This commit is contained in:
parent
03df012e90
commit
179664d6b6
|
@ -1,4 +1,4 @@
|
||||||
// Copyright 2018-2020, Collabora, Ltd.
|
// Copyright 2018-2022, Collabora, Ltd.
|
||||||
// SPDX-License-Identifier: BSL-1.0
|
// SPDX-License-Identifier: BSL-1.0
|
||||||
/*!
|
/*!
|
||||||
* @file
|
* @file
|
||||||
|
@ -224,6 +224,21 @@ oxr_slog(struct oxr_sink_logger *slog, const char *fmt, ...)
|
||||||
slog->length += ret;
|
slog->length += ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
oxr_slog_add_array(struct oxr_sink_logger *slog, const char *str, size_t size)
|
||||||
|
{
|
||||||
|
if (size == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t size_with_null = size + 1;
|
||||||
|
oxr_slog_ensure(slog, size_with_null);
|
||||||
|
|
||||||
|
memcpy(slog->store + slog->length, str, size);
|
||||||
|
|
||||||
|
slog->length += size;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
oxr_slog_abort(struct oxr_sink_logger *slog)
|
oxr_slog_abort(struct oxr_sink_logger *slog)
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "util/u_pretty_print.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -94,6 +97,22 @@ struct oxr_sink_logger
|
||||||
void
|
void
|
||||||
oxr_slog(struct oxr_sink_logger *slog, const char *fmt, ...) XRT_PRINTF_FORMAT(2, 3);
|
oxr_slog(struct oxr_sink_logger *slog, const char *fmt, ...) XRT_PRINTF_FORMAT(2, 3);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Add the string to the slog struct.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
oxr_slog_add_array(struct oxr_sink_logger *slog, const char *str, size_t size);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Get a pretty print delegate from a @ref oxr_sink_logger.
|
||||||
|
*/
|
||||||
|
static inline u_pp_delegate_t
|
||||||
|
oxr_slog_dg(struct oxr_sink_logger *slog)
|
||||||
|
{
|
||||||
|
u_pp_delegate_t dg = {(void *)slog, (u_pp_delegate_func_t)oxr_slog_add_array};
|
||||||
|
return dg;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Abort logging, frees all internal data.
|
* Abort logging, frees all internal data.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue