ds: datetime: update to_string() to use new b_stream interface

This commit is contained in:
2025-10-24 12:38:28 +01:00
parent 586d4e3bc4
commit 4e793eef0e
2 changed files with 6 additions and 12 deletions

View File

@@ -309,8 +309,7 @@ fail:
return NULL; return NULL;
} }
static enum b_status encode_rfc3339( static enum b_status encode_rfc3339(const struct b_datetime_p *dt, b_stream *out)
const struct b_datetime_p *dt, struct b_stream *out)
{ {
if (dt->dt_has_date) { if (dt->dt_has_date) {
b_stream_write_fmt( b_stream_write_fmt(
@@ -349,20 +348,15 @@ static enum b_status encode_rfc3339(
} }
static void datetime_to_string( 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) { switch (format) {
case B_DATETIME_FORMAT_RFC3339: case B_DATETIME_FORMAT_RFC3339:
encode_rfc3339(dt, out); encode_rfc3339(dt, dest);
break; break;
default: default:
break; break;
} }
b_stream_close(out);
} }
static bool datetime_is_localtime(const struct b_datetime_p *dt) 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( 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_CLASS_DISPATCH_STATIC(
B_TYPE_DATETIME, datetime_to_string, dt, format, dest); 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; 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); struct b_datetime_p *dt = b_object_get_private(obj, B_TYPE_DATETIME);

View File

@@ -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 b_datetime *b_datetime_parse(b_datetime_format format, const char *s);
BLUE_API void b_datetime_to_string( BLUE_API void b_datetime_to_string(
const b_datetime *dt, b_datetime_format format, 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_is_localtime(const b_datetime *dt);
BLUE_API bool b_datetime_has_date(const b_datetime *dt); BLUE_API bool b_datetime_has_date(const b_datetime *dt);