From 4e793eef0e9443d78ebe38793aaa1d07268f19da Mon Sep 17 00:00:00 2001 From: Max Wash Date: Fri, 24 Oct 2025 12:38:28 +0100 Subject: [PATCH] ds: datetime: update to_string() to use new b_stream interface --- ds/datetime.c | 16 +++++----------- ds/include/blue/ds/datetime.h | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/ds/datetime.c b/ds/datetime.c index 618817a..2614cd4 100644 --- a/ds/datetime.c +++ b/ds/datetime.c @@ -309,8 +309,7 @@ fail: return NULL; } -static enum b_status encode_rfc3339( - const struct b_datetime_p *dt, struct b_stream *out) +static enum b_status encode_rfc3339(const struct b_datetime_p *dt, b_stream *out) { if (dt->dt_has_date) { b_stream_write_fmt( @@ -349,20 +348,15 @@ static enum b_status encode_rfc3339( } static void datetime_to_string( - const struct b_datetime_p *dt, b_datetime_format format, b_string *dest) + const struct b_datetime_p *dt, b_datetime_format format, b_stream *dest) { - struct b_stream *out; - b_string_open_stream(dest, &out); - switch (format) { case B_DATETIME_FORMAT_RFC3339: - encode_rfc3339(dt, out); + encode_rfc3339(dt, dest); break; default: break; } - - b_stream_close(out); } static bool datetime_is_localtime(const struct b_datetime_p *dt) @@ -459,7 +453,7 @@ b_datetime *b_datetime_parse(enum b_datetime_format format, const char *s) } void b_datetime_to_string( - const b_datetime *dt, b_datetime_format format, b_string *dest) + const b_datetime *dt, b_datetime_format format, b_stream *dest) { B_CLASS_DISPATCH_STATIC( B_TYPE_DATETIME, datetime_to_string, dt, format, dest); @@ -543,7 +537,7 @@ static void datetime_fini(b_object *obj, void *priv) struct b_datetime_p *dt = priv; } -static void _datetime_to_string(const b_object *obj, struct b_stream *out) +static void _datetime_to_string(const b_object *obj, b_stream *out) { struct b_datetime_p *dt = b_object_get_private(obj, B_TYPE_DATETIME); diff --git a/ds/include/blue/ds/datetime.h b/ds/include/blue/ds/datetime.h index 7d33a2d..78f4773 100644 --- a/ds/include/blue/ds/datetime.h +++ b/ds/include/blue/ds/datetime.h @@ -25,7 +25,7 @@ B_TYPE_DEFAULT_CONSTRUCTOR(b_datetime, B_TYPE_DATETIME); BLUE_API b_datetime *b_datetime_parse(b_datetime_format format, const char *s); BLUE_API void b_datetime_to_string( const b_datetime *dt, b_datetime_format format, - B_TYPE_FWDREF(b_string) * dest); + B_TYPE_FWDREF(b_stream) * dest); BLUE_API bool b_datetime_is_localtime(const b_datetime *dt); BLUE_API bool b_datetime_has_date(const b_datetime *dt);