summaryrefslogtreecommitdiff
path: root/src/lib/eolian
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-09-23 15:26:23 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-09-23 15:26:23 +0200
commit74becf76c0247a7a4169c58eb07ea5733dd78366 (patch)
tree04c8406ae9b5e1108e423dffee122ed9437fc21a /src/lib/eolian
parent8b2cae5b07150c641124978f92f0727a579b6b17 (diff)
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.
Diffstat (limited to 'src/lib/eolian')
-rw-r--r--src/lib/eolian/database_validate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index a24105c607..d0bf40d17a 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)
646 } 646 }
647 /* any type past builtin value types and containers is not allowed, 647 /* any type past builtin value types and containers is not allowed,
648 * any_value is allowed but passed as const reference, any_value_ref 648 * any_value is allowed but passed as const reference, any_value_ref
649 * is not; string is allowed, but mutable strings or stringshares are 649 * is not; string and stringshare is allowed, but mutable strings are
650 * not and neither are string buffers, the type is never owned by the 650 * not and neither are string buffers, the type is never owned by the
651 * callee, so all strings passed in are unowned and read-only 651 * callee, so all strings passed in are unowned and read-only
652 */ 652 */
653 if (kwid >= KW_any_value_ref && kwid != KW_string) 653 if (kwid >= KW_any_value_ref && kwid != KW_string && kwid != KW_stringshare)
654 { 654 {
655 _eo_parser_log(&tp->base, "forbidden event type"); 655 _eo_parser_log(&tp->base, "forbidden event type");
656 return _reset_stable(vals, was_stable, EINA_FALSE); 656 return _reset_stable(vals, was_stable, EINA_FALSE);