From 18001254bc7c752f9d7837297fa2d6554dc38666 Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Mon, 23 Sep 2019 15:26:23 +0200 Subject: [PATCH] eolian: allow read-only stringshare in events While the type cannot be moved to the callee, it at least provides a hint that it's a stringshare, leeting people ref it instead of copying. --- src/lib/eolian/database_validate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c index a24105c..d0bf40d 100644 --- a/src/lib/eolian/database_validate.c +++ b/src/lib/eolian/database_validate.c @@ -646,11 +646,11 @@ _validate_event(Validate_State *vals, Eolian_Event *event, Eina_Hash *nhash) } /* any type past builtin value types and containers is not allowed, * any_value is allowed but passed as const reference, any_value_ref - * is not; string is allowed, but mutable strings or stringshares are + * is not; string and stringshare is allowed, but mutable strings are * not and neither are string buffers, the type is never owned by the * callee, so all strings passed in are unowned and read-only */ - if (kwid >= KW_any_value_ref && kwid != KW_string) + if (kwid >= KW_any_value_ref && kwid != KW_string && kwid != KW_stringshare) { _eo_parser_log(&tp->base, "forbidden event type"); return _reset_stable(vals, was_stable, EINA_FALSE); -- 2.7.4