1 Commits

Author SHA1 Message Date
wash fa9572d33a fx: iterator: return NULL value if iterator status is not SUCCESS 2026-05-30 20:19:47 +01:00
4 changed files with 4 additions and 30 deletions
+1
View File
@@ -1852,6 +1852,7 @@ static fx_result parse_array_inline(struct ctx *ctx, fx_value *result)
static fx_result parse_value(struct ctx *ctx, fx_value *result) static fx_result parse_value(struct ctx *ctx, fx_value *result)
{ {
struct token *tok = peek_token(ctx); struct token *tok = peek_token(ctx);
if (!tok) { if (!tok) {
return FX_RESULT_ERR(BAD_FORMAT); return FX_RESULT_ERR(BAD_FORMAT);
+1 -21
View File
@@ -25,10 +25,6 @@ static enum fx_status iterator_set_status(
const fx_iterator *fx_iterator_begin(const fx_iterable *it) const fx_iterator *fx_iterator_begin(const fx_iterable *it)
{ {
if (!it) {
return NULL;
}
FX_CLASS_DISPATCH_VIRTUAL_0( FX_CLASS_DISPATCH_VIRTUAL_0(
fx_iterable, fx_iterable,
FX_TYPE_ITERABLE, FX_TYPE_ITERABLE,
@@ -39,19 +35,11 @@ const fx_iterator *fx_iterator_begin(const fx_iterable *it)
enum fx_status fx_iterator_get_status(const fx_iterator *it) enum fx_status fx_iterator_get_status(const fx_iterator *it)
{ {
if (!it) {
return FX_ERR_NO_DATA;
}
FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_ITERATOR, iterator_get_status, it); FX_CLASS_DISPATCH_STATIC_0(FX_TYPE_ITERATOR, iterator_get_status, it);
} }
enum fx_status fx_iterator_set_status(const fx_iterator *it, fx_status status) enum fx_status fx_iterator_set_status(const fx_iterator *it, fx_status status)
{ {
if (!it) {
return FX_ERR_NO_DATA;
}
FX_CLASS_DISPATCH_STATIC( FX_CLASS_DISPATCH_STATIC(
FX_TYPE_ITERATOR, FX_TYPE_ITERATOR,
iterator_set_status, iterator_set_status,
@@ -61,10 +49,6 @@ enum fx_status fx_iterator_set_status(const fx_iterator *it, fx_status status)
enum fx_status fx_iterator_move_next(const fx_iterator *it) enum fx_status fx_iterator_move_next(const fx_iterator *it)
{ {
if (!it) {
return FX_ERR_NO_DATA;
}
enum fx_status status = FX_ERR_NOT_SUPPORTED; enum fx_status status = FX_ERR_NOT_SUPPORTED;
fx_iterator_class *iface fx_iterator_class *iface
@@ -81,7 +65,7 @@ enum fx_status fx_iterator_move_next(const fx_iterator *it)
const fx_value *fx_iterator_get_value(const fx_iterator *it) const fx_value *fx_iterator_get_value(const fx_iterator *it)
{ {
if (!it) { if (fx_iterator_get_status(it) != FX_SUCCESS) {
return NULL; return NULL;
} }
@@ -95,10 +79,6 @@ const fx_value *fx_iterator_get_value(const fx_iterator *it)
fx_status fx_iterator_erase(fx_iterator *it) fx_status fx_iterator_erase(fx_iterator *it)
{ {
if (!it) {
return FX_ERR_NO_DATA;
}
enum fx_status status = FX_ERR_NOT_SUPPORTED; enum fx_status status = FX_ERR_NOT_SUPPORTED;
fx_iterator_class *iface fx_iterator_class *iface
+1 -8
View File
@@ -200,19 +200,12 @@ enum fx_status fx_object_get_data(
struct _fx_object *fx_object_ref(struct _fx_object *p) struct _fx_object *fx_object_ref(struct _fx_object *p)
{ {
if (p) { p->obj_ref++;
p->obj_ref++;
}
return p; return p;
} }
void fx_object_unref(struct _fx_object *p) void fx_object_unref(struct _fx_object *p)
{ {
if (!p) {
return;
}
if (p->obj_ref > 1) { if (p->obj_ref > 1) {
p->obj_ref--; p->obj_ref--;
return; return;
+1 -1
View File
@@ -301,7 +301,7 @@ static fx_string *string_duplicate(const struct fx_string_p *str)
const char *src = string_ptr(str); const char *src = string_ptr(str);
char *dst = string_ptr(new_str_p); char *dst = string_ptr(new_str_p);
memcpy(dst, src, str->s_len + 1); memcpy(dst, src, str->s_len);
new_str_p->s_len = str->s_len; new_str_p->s_len = str->s_len;
new_str_p->s_codepoints = str->s_codepoints; new_str_p->s_codepoints = str->s_codepoints;