Lines Matching defs:env

95 static struct cras_expr_value *find_value(struct cras_expr_env *env,
101 FOR_ARRAY_ELEMENT(&env->keys, i, key) {
103 return ARRAY_ELEMENT(&env->values, i);
111 static struct cras_expr_value *insert_value(struct cras_expr_env *env,
114 *ARRAY_APPEND_ZERO(&env->keys) = strdup(key);
115 return ARRAY_APPEND_ZERO(&env->values);
118 static struct cras_expr_value *find_or_insert_value(struct cras_expr_env *env,
121 struct cras_expr_value *value = find_value(env, key);
123 value = insert_value(env, key);
238 static void env_set_variable(struct cras_expr_env *env, const char *name,
241 struct cras_expr_value *value = find_or_insert_value(env, name);
245 void cras_expr_env_install_builtins(struct cras_expr_env *env)
249 /* initialize env with builtin functions */
251 env_set_variable(env, "not", &value);
254 env_set_variable(env, "and", &value);
257 env_set_variable(env, "or", &value);
260 env_set_variable(env, "equal?", &value);
265 void cras_expr_env_set_variable_boolean(struct cras_expr_env *env,
268 struct cras_expr_value *value = find_or_insert_value(env, name);
272 void cras_expr_env_set_variable_integer(struct cras_expr_env *env,
275 struct cras_expr_value *value = find_or_insert_value(env, name);
279 void cras_expr_env_set_variable_string(struct cras_expr_env *env,
282 struct cras_expr_value *value = find_or_insert_value(env, name);
286 void cras_expr_env_free(struct cras_expr_env *env)
292 FOR_ARRAY_ELEMENT(&env->keys, i, key) {
296 FOR_ARRAY_ELEMENT(&env->values, i, value) {
300 ARRAY_FREE(&env->keys);
301 ARRAY_FREE(&env->values);
477 struct cras_expr_env *env,
490 struct cras_expr_value *value = find_value(env,
509 cras_expr_expression_eval(*psub, env, value);
534 struct cras_expr_env *env,
540 cras_expr_expression_eval(expr, env, &value);
552 struct cras_expr_env *env,
558 cras_expr_expression_eval(expr, env, &value);