mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-07 20:08:17 +02:00
[script] Strings automatically adopt from the global String template
This means string operations now can be applied on raw strings rather than
having to cast them using the String() class template wrapper.
String("something").CharAt(3)
now becomes simply:
"something".CharAt(3)
This commit is contained in:
parent
669c2dcc0a
commit
fe2ec6ffbf
1 changed files with 12 additions and 1 deletions
|
|
@ -302,7 +302,18 @@ static script_obj_t *script_evaluate_func (script_state_t *state,
|
|||
this_obj = script_evaluate (state, name_exp->data.dual.sub_a);
|
||||
char *this_key_name = script_obj_as_string (this_key);
|
||||
script_obj_unref (this_key);
|
||||
func_obj = script_obj_hash_get_element (this_obj, this_key_name);
|
||||
func_obj = script_obj_hash_peek_element (this_obj, this_key_name);
|
||||
|
||||
if (!func_obj && script_obj_is_string (this_obj))
|
||||
{
|
||||
script_obj_t *string_hash = script_obj_hash_peek_element (state->global, "String");
|
||||
func_obj = script_obj_hash_peek_element (string_hash, this_key_name);
|
||||
script_obj_unref (func_obj);
|
||||
}
|
||||
|
||||
if (!func_obj)
|
||||
func_obj = script_obj_hash_get_element (this_obj, this_key_name);
|
||||
|
||||
free(this_key_name);
|
||||
}
|
||||
else if (name_exp->type == SCRIPT_EXP_TYPE_TERM_VAR)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue