• Home
  • Raw
  • Download

Lines Matching refs:err

640 	int err;  in input_stdio_open()  local
648 err = -ENOENT; in input_stdio_open()
656 err = snd_input_stdio_open(inputp, full_path, "r"); in input_stdio_open()
657 if (err == 0) in input_stdio_open()
663 return err; in input_stdio_open()
708 int err; in safe_strtod() local
724 err = -errno; in safe_strtod()
734 if (err) in safe_strtod()
735 return err; in safe_strtod()
796 int err = get_delimstring(&str, '>', input); in get_char_skip_comments() local
797 if (err < 0) in get_char_skip_comments()
798 return err; in get_char_skip_comments()
816 err = add_include_path(input->current, str); in get_char_skip_comments()
818 if (err < 0) { in get_char_skip_comments()
820 return err; in get_char_skip_comments()
832 err = snd_input_stdio_open(&in, str, "r"); in get_char_skip_comments()
834 err = input_stdio_open(&in, str, input->current); in get_char_skip_comments()
837 if (err < 0) { in get_char_skip_comments()
840 return err; in get_char_skip_comments()
1092 int c = get_nonwhite(input), err; in get_string() local
1108 err = get_delimstring(string, c, input); in get_string()
1109 if (err < 0) in get_string()
1110 return err; in get_string()
1114 err = get_freestring(string, id, input); in get_string()
1115 if (err < 0) in get_string()
1116 return err; in get_string()
1149 int err; in _snd_config_make_add() local
1151 err = _snd_config_make(&n, id, type); in _snd_config_make_add()
1152 if (err < 0) in _snd_config_make_add()
1153 return err; in _snd_config_make_add()
1183 int err; in parse_value() local
1185 err = get_string(&s, 0, input); in parse_value()
1186 if (err < 0) in parse_value()
1187 return err; in parse_value()
1192 if (err == 0 && ((s[0] >= '0' && s[0] <= '9') || s[0] == '-')) { in parse_value()
1195 err = safe_strtoll(s, &i); in parse_value()
1196 if (err < 0) { in parse_value()
1198 err = safe_strtod(s, &r); in parse_value()
1199 if (err >= 0) { in parse_value()
1207 err = _snd_config_make_add(&n, id, SND_CONFIG_TYPE_REAL, parent); in parse_value()
1208 if (err < 0) in parse_value()
1209 return err; in parse_value()
1224 err = _snd_config_make_add(&n, id, SND_CONFIG_TYPE_INTEGER, parent); in parse_value()
1226 err = _snd_config_make_add(&n, id, SND_CONFIG_TYPE_INTEGER64, parent); in parse_value()
1227 if (err < 0) in parse_value()
1228 return err; in parse_value()
1245 err = _snd_config_make_add(&n, id, SND_CONFIG_TYPE_STRING, parent); in parse_value()
1246 if (err < 0) in parse_value()
1247 return err; in parse_value()
1262 int err; in parse_array_def() local
1287 err = c; in parse_array_def()
1299 err = -EINVAL; in parse_array_def()
1303 err = _snd_config_make_add(&n, &id, SND_CONFIG_TYPE_COMPOUND, parent); in parse_array_def()
1304 if (err < 0) in parse_array_def()
1309 err = parse_defs(n, input, skip, override); in parse_array_def()
1312 err = parse_array_defs(n, input, skip, override); in parse_array_def()
1317 err = c; in parse_array_def()
1323 err = LOCAL_UNEXPECTED_CHAR; in parse_array_def()
1330 err = parse_value(&n, parent, input, &id, skip); in parse_array_def()
1331 if (err < 0) in parse_array_def()
1335 err = 0; in parse_array_def()
1338 return err; in parse_array_def()
1345 int c = get_nonwhite(input), err; in parse_array_defs() local
1351 err = parse_array_def(parent, input, &idx, skip, override); in parse_array_defs()
1352 if (err < 0) in parse_array_defs()
1353 return err; in parse_array_defs()
1363 int err; in parse_def() local
1387 err = get_string(&id, 1, input); in parse_def()
1388 if (err < 0) in parse_def()
1389 return err; in parse_def()
1417 err = -ENOENT; in parse_def()
1420 err = _snd_config_make_add(&n, &id, SND_CONFIG_TYPE_COMPOUND, parent); in parse_def()
1421 if (err < 0) in parse_def()
1444 err = -ENOENT; in parse_def()
1458 err = -EINVAL; in parse_def()
1462 err = _snd_config_make_add(&n, &id, SND_CONFIG_TYPE_COMPOUND, parent); in parse_def()
1463 if (err < 0) in parse_def()
1468 err = parse_defs(n, input, skip, override); in parse_def()
1471 err = parse_array_defs(n, input, skip, override); in parse_def()
1478 err = LOCAL_UNEXPECTED_CHAR; in parse_def()
1485 err = parse_value(&n, parent, input, &id, skip); in parse_def()
1486 if (err < 0) in parse_def()
1500 return err; in parse_def()
1505 int c, err; in parse_defs() local
1513 err = parse_def(parent, input, skip, override); in parse_defs()
1514 if (err < 0) in parse_defs()
1515 return err; in parse_defs()
1627 int err, array; in _snd_config_save_node_value() local
1648 err = _snd_config_save_children(n, out, level + 1, 0, array); in _snd_config_save_node_value()
1649 if (err < 0) in _snd_config_save_node_value()
1650 return err; in _snd_config_save_node_value()
1672 int err; in _snd_config_save_children() local
1679 err = _snd_config_save_children(n, out, level, joins + 1, 0); in _snd_config_save_children()
1680 if (err < 0) in _snd_config_save_children()
1681 return err; in _snd_config_save_children()
1692 err = _snd_config_save_node_value(n, out, level); in _snd_config_save_children()
1693 if (err < 0) in _snd_config_save_children()
1694 return err; in _snd_config_save_children()
1729 int err = snd_config_delete_compound_members(dst); in snd_config_substitute() local
1730 if (err < 0) in snd_config_substitute()
1731 return err; in snd_config_substitute()
1953 int err; in _snd_config_load_with_include() local
1969 err = add_include_path(fd, *include_paths); in _snd_config_load_with_include()
1970 if (err < 0) in _snd_config_load_with_include()
1974 err = add_include_path(fd, snd_config_topdir()); in _snd_config_load_with_include()
1975 if (err < 0) in _snd_config_load_with_include()
1980 err = parse_defs(config, &input, 0, override); in _snd_config_load_with_include()
1982 if (err < 0) { in _snd_config_load_with_include()
1984 switch (err) { in _snd_config_load_with_include()
1987 err = -EINVAL; in _snd_config_load_with_include()
1991 err = -EINVAL; in _snd_config_load_with_include()
1995 err = -EINVAL; in _snd_config_load_with_include()
1999 err = -EINVAL; in _snd_config_load_with_include()
2002 str = strerror(-err); in _snd_config_load_with_include()
2008 err = get_char(&input); in _snd_config_load_with_include()
2010 if (err != LOCAL_UNEXPECTED_EOF) { in _snd_config_load_with_include()
2012 err = -EINVAL; in _snd_config_load_with_include()
2015 err = 0; in _snd_config_load_with_include()
2028 return err; in _snd_config_load_with_include()
2073 int err; in snd_config_load_string() local
2078 err = snd_input_buffer_open(&input, s, size); in snd_config_load_string()
2079 if (err < 0) in snd_config_load_string()
2080 return err; in snd_config_load_string()
2081 err = snd_config_top(&dst); in snd_config_load_string()
2082 if (err < 0) { in snd_config_load_string()
2084 return err; in snd_config_load_string()
2086 err = snd_config_load(dst, input); in snd_config_load_string()
2088 if (err < 0) { in snd_config_load_string()
2090 return err; in snd_config_load_string()
2239 int err; in _snd_config_array_merge() local
2246 err = snd_config_set_id(sn, id); in _snd_config_array_merge()
2247 if (err < 0) { in _snd_config_array_merge()
2249 return err; in _snd_config_array_merge()
2287 int err, array; in snd_config_merge() local
2307 err = snd_config_substitute(dn, sn); in snd_config_merge()
2308 if (err < 0) in snd_config_merge()
2309 return err; in snd_config_merge()
2311 err = snd_config_merge(dn, sn, 0); in snd_config_merge()
2312 if (err < 0) in snd_config_merge()
2313 return err; in snd_config_merge()
2384 int err; in snd_config_delete() local
2390 err = snd_config_delete(child); in snd_config_delete()
2391 if (err < 0) in snd_config_delete()
2392 return err; in snd_config_delete()
2430 int err; in snd_config_delete_compound_members() local
2440 err = snd_config_delete(child); in snd_config_delete_compound_members()
2441 if (err < 0) in snd_config_delete_compound_members()
2442 return err; in snd_config_delete_compound_members()
2641 int err; in snd_config_make_compound() local
2642 err = snd_config_make(config, id, SND_CONFIG_TYPE_COMPOUND); in snd_config_make_compound()
2643 if (err < 0) in snd_config_make_compound()
2644 return err; in snd_config_make_compound()
2695 int err; in snd_config_make_path() local
2700 err = _snd_config_search(root, key, p - key, &n); in snd_config_make_path()
2701 if (err < 0) { in snd_config_make_path()
2708 err = snd_config_make_compound(&n, s, join); in snd_config_make_path()
2710 if (err < 0) in snd_config_make_path()
2711 return err; in snd_config_make_path()
2712 err = snd_config_add(root, n); in snd_config_make_path()
2713 if (err < 0) in snd_config_make_path()
2714 return err; in snd_config_make_path()
2719 err = _snd_config_search(root, key, -1, config); in snd_config_make_path()
2720 if (err == 0) { in snd_config_make_path()
2723 err = snd_config_delete(*config); in snd_config_make_path()
2724 if (err < 0) in snd_config_make_path()
2725 return err; in snd_config_make_path()
2734 err = snd_config_make_compound(&n, key, join); in snd_config_make_path()
2735 if (err < 0) in snd_config_make_path()
2736 return err; in snd_config_make_path()
2737 err = snd_config_add(root, n); in snd_config_make_path()
2738 if (err < 0) in snd_config_make_path()
2739 return err; in snd_config_make_path()
2767 int err; in snd_config_imake_integer() local
2769 err = snd_config_make(config, id, SND_CONFIG_TYPE_INTEGER); in snd_config_imake_integer()
2770 if (err < 0) in snd_config_imake_integer()
2771 return err; in snd_config_imake_integer()
2797 int err; in snd_config_imake_integer64() local
2799 err = snd_config_make(config, id, SND_CONFIG_TYPE_INTEGER64); in snd_config_imake_integer64()
2800 if (err < 0) in snd_config_imake_integer64()
2801 return err; in snd_config_imake_integer64()
2824 int err; in snd_config_imake_real() local
2826 err = snd_config_make(config, id, SND_CONFIG_TYPE_REAL); in snd_config_imake_real()
2827 if (err < 0) in snd_config_imake_real()
2828 return err; in snd_config_imake_real()
2854 int err; in snd_config_imake_string() local
2857 err = snd_config_make(&tmp, id, SND_CONFIG_TYPE_STRING); in snd_config_imake_string()
2858 if (err < 0) in snd_config_imake_string()
2859 return err; in snd_config_imake_string()
2875 int err; in snd_config_imake_safe_string() local
2879 err = snd_config_make(&tmp, id, SND_CONFIG_TYPE_STRING); in snd_config_imake_safe_string()
2880 if (err < 0) in snd_config_imake_safe_string()
2881 return err; in snd_config_imake_safe_string()
2923 int err; in snd_config_imake_pointer() local
2925 err = snd_config_make(config, id, SND_CONFIG_TYPE_POINTER); in snd_config_imake_pointer()
2926 if (err < 0) in snd_config_imake_pointer()
2927 return err; in snd_config_imake_pointer()
3087 int err = safe_strtol(ascii, &i); in snd_config_set_ascii() local
3088 if (err < 0) in snd_config_set_ascii()
3089 return err; in snd_config_set_ascii()
3096 int err = safe_strtoll(ascii, &i); in snd_config_set_ascii() local
3097 if (err < 0) in snd_config_set_ascii()
3098 return err; in snd_config_set_ascii()
3105 int err = safe_strtod(ascii, &d); in snd_config_set_ascii() local
3106 if (err < 0) in snd_config_set_ascii()
3107 return err; in snd_config_set_ascii()
3305 int err; in snd_config_get_ascii() local
3306 err = snprintf(res, sizeof(res), "%li", config->u.integer); in snd_config_get_ascii()
3307 if (err < 0 || err == sizeof(res)) { in snd_config_get_ascii()
3317 int err; in snd_config_get_ascii() local
3318 err = snprintf(res, sizeof(res), "%lli", config->u.integer64); in snd_config_get_ascii()
3319 if (err < 0 || err == sizeof(res)) { in snd_config_get_ascii()
3329 int err; in snd_config_get_ascii() local
3330 err = snprintf(res, sizeof(res), "%-16g", config->u.real); in snd_config_get_ascii()
3331 if (err < 0 || err == sizeof(res)) { in snd_config_get_ascii()
3419 int err; \
3428 err = _snd_config_search(config, key, p - key, &n); \
3429 if (err < 0) \
3430 return err; \
3441 int err; \
3448 err = fcn(root, root, p, &config); \
3449 if (err < 0) \
3450 return err; \
3455 err = _snd_config_search(config, key, p - key, &n); \
3456 if (err < 0) \
3457 return err; \
3473 int err; \
3476 err = fcn(config, k, &n); \
3477 if (err < 0) { \
3479 return err; \
3497 int err; \
3500 err = fcn(root, config, k, &n); \
3501 if (err < 0) { \
3503 return err; \
3517 int err, first = 1, maxloop = 1000; \
3522 err = -ENOMEM; \
3526 err = first && base ? -EIO : fcn1(config, config, key, &res); \
3527 if (err < 0) { \
3530 err = fcn2(config, config, &res, base, key, NULL); \
3531 if (err < 0) \
3542 err = -EINVAL; \
3552 return err; \
3786 err = snd_config_hooks(config, NULL); \ in snd_config_search_hooks()
3787 if (err < 0) \ in snd_config_search_hooks()
3788 return err; \ in snd_config_search_hooks()
3820 err = snd_config_hooks(config, NULL); \ in snd_config_searcha_hooks()
3821 if (err < 0) \ in snd_config_searcha_hooks()
3822 return err; \ in snd_config_searcha_hooks()
3942 int err; in snd_config_hooks_call() local
3944 err = snd_config_search(config, "func", &c); in snd_config_hooks_call()
3945 if (err < 0) { in snd_config_hooks_call()
3947 return err; in snd_config_hooks_call()
3949 err = snd_config_get_string(c, &str); in snd_config_hooks_call()
3950 if (err < 0) { in snd_config_hooks_call()
3952 return err; in snd_config_hooks_call()
3955 err = snd_config_search_definition(root, "hook_func", str, &func_conf); in snd_config_hooks_call()
3956 if (err >= 0) { in snd_config_hooks_call()
3960 err = -EINVAL; in snd_config_hooks_call()
3969 err = snd_config_get_string(n, &lib); in snd_config_hooks_call()
3970 if (err < 0) { in snd_config_hooks_call()
3977 err = snd_config_get_string(n, &func_name); in snd_config_hooks_call()
3978 if (err < 0) { in snd_config_hooks_call()
3991 err = -ENOMEM; in snd_config_hooks_call()
4000 err = 0; in snd_config_hooks_call()
4003 err = -ENOENT; in snd_config_hooks_call()
4007 err = -ENXIO; in snd_config_hooks_call()
4012 if (err >= 0) { in snd_config_hooks_call()
4014 err = func(root, config, &nroot, private_data); in snd_config_hooks_call()
4015 if (err < 0) in snd_config_hooks_call()
4016 SNDERR("function %s returned error: %s", func_name, snd_strerror(err)); in snd_config_hooks_call()
4018 if (err >= 0 && nroot) in snd_config_hooks_call()
4019 err = snd_config_substitute(root, nroot); in snd_config_hooks_call()
4022 if (err < 0) in snd_config_hooks_call()
4023 return err; in snd_config_hooks_call()
4031 int err, hit, idx = 0; in snd_config_hooks() local
4033 if ((err = snd_config_search(config, "@hooks", &n)) < 0) in snd_config_hooks()
4043 err = safe_strtol(id, &i); in snd_config_hooks()
4044 if (err < 0) { in snd_config_hooks()
4046 err = -EINVAL; in snd_config_hooks()
4050 err = snd_config_hooks_call(config, n, private_data); in snd_config_hooks()
4051 if (err < 0) in snd_config_hooks()
4058 err = 0; in snd_config_hooks()
4062 return err; in snd_config_hooks()
4087 int err; in config_file_open() local
4089 err = snd_input_stdio_open(&in, filename, "r"); in config_file_open()
4090 if (err >= 0) { in config_file_open()
4091 err = snd_config_load(root, in); in config_file_open()
4093 if (err < 0) in config_file_open()
4098 return err; in config_file_open()
4105 int err, n; in config_file_load() local
4125 err = 0; in config_file_load()
4127 if (err >= 0) { in config_file_load()
4133 err = config_file_open(root, filename); in config_file_load()
4139 if (err < 0) in config_file_load()
4140 return err; in config_file_load()
4148 int err; in config_file_load_user() local
4150 err = snd_user_file(fn, &fn2); in config_file_load_user()
4151 if (err < 0) in config_file_load_user()
4153 err = config_file_load(root, fn2, errors); in config_file_load_user()
4155 return err; in config_file_load_user()
4162 int err; in config_file_load_user_all() local
4165 if ((err = snd_config_search(_file, "file", &file)) < 0) { in config_file_load_user_all()
4167 return err; in config_file_load_user_all()
4169 if ((err = snd_config_search(_file, "root", &root)) >= 0) { in config_file_load_user_all()
4170 err = snd_config_get_ascii(root, &rname); in config_file_load_user_all()
4171 if (err < 0) { in config_file_load_user_all()
4173 return err; in config_file_load_user_all()
4175 err = snd_config_make_compound(&root, rname, 0); in config_file_load_user_all()
4176 if (err < 0) in config_file_load_user_all()
4177 return err; in config_file_load_user_all()
4180 if ((err = snd_config_get_ascii(file, &name)) < 0) in config_file_load_user_all()
4189 err = config_file_load_user(root, name2, errors); in config_file_load_user_all()
4190 if (err < 0) in config_file_load_user_all()
4192 if (err == 0) /* first hit wins */ in config_file_load_user_all()
4201 if (err == 0) { in config_file_load_user_all()
4206 err = snd_config_make_path(&n, _root, rname, 0, 1); in config_file_load_user_all()
4207 if (err < 0) in config_file_load_user_all()
4209 err = snd_config_substitute(n, root); in config_file_load_user_all()
4210 if (err == 0) in config_file_load_user_all()
4219 return err; in config_file_load_user_all()
4238 int err, idx = 0, errors = 1, hit; in snd_config_hook_load() local
4241 if ((err = snd_config_search(config, "errors", &n)) >= 0) { in snd_config_hook_load()
4248 if ((err = snd_config_search(config, "files", &n)) < 0) { in snd_config_hook_load()
4252 if ((err = snd_config_expand(n, root, NULL, private_data, &n)) < 0) { in snd_config_hook_load()
4254 return err; in snd_config_hook_load()
4266 err = safe_strtol(id, &i); in snd_config_hook_load()
4267 if (err < 0) { in snd_config_hook_load()
4269 err = -EINVAL; in snd_config_hook_load()
4273 err = config_file_load_user_all(root, n, errors); in snd_config_hook_load()
4274 if (err < 0) in snd_config_hook_load()
4282 err = 0; in snd_config_hook_load()
4285 return err; in snd_config_hook_load()
4298 int err; in _snd_config_hook_private_data() local
4300 err = snd_config_make_compound(&private_data, NULL, 0); in _snd_config_hook_private_data()
4301 if (err < 0) in _snd_config_hook_private_data()
4303 err = snd_config_imake_integer(&v, "integer", card); in _snd_config_hook_private_data()
4304 if (err < 0) in _snd_config_hook_private_data()
4306 err = snd_config_add(private_data, v); in _snd_config_hook_private_data()
4307 if (err < 0) { in _snd_config_hook_private_data()
4311 err = snd_config_imake_string(&v, "string", driver); in _snd_config_hook_private_data()
4312 if (err < 0) in _snd_config_hook_private_data()
4314 err = snd_config_add(private_data, v); in _snd_config_hook_private_data()
4315 if (err < 0) { in _snd_config_hook_private_data()
4330 int err; in _snd_config_hook_table() local
4334 if ((err = snd_config_expand(n, root, NULL, private_data, &n)) < 0) { in _snd_config_hook_table()
4336 return err; in _snd_config_hook_table()
4351 if ((err = snd_config_set_id(tn, id)) < 0) { in _snd_config_hook_table()
4354 return err; in _snd_config_hook_table()
4357 if ((err = snd_config_add(root, tn)) < 0) { in _snd_config_hook_table()
4359 return err; in _snd_config_hook_table()
4381 int card = -1, err; in snd_config_hook_load_for_all_cards() local
4384 err = snd_config_top(&loaded); in snd_config_hook_load_for_all_cards()
4385 if (err < 0) in snd_config_hook_load_for_all_cards()
4386 return err; in snd_config_hook_load_for_all_cards()
4388 err = snd_card_next(&card); in snd_config_hook_load_for_all_cards()
4389 if (err < 0) in snd_config_hook_load_for_all_cards()
4396 err = snd_determine_driver(card, &fdriver); in snd_config_hook_load_for_all_cards()
4397 if (err < 0) in snd_config_hook_load_for_all_cards()
4420 err = snd_config_imake_integer(&m, driver, 1); in snd_config_hook_load_for_all_cards()
4421 if (err < 0) in snd_config_hook_load_for_all_cards()
4423 err = snd_config_add(loaded, m); in snd_config_hook_load_for_all_cards()
4424 if (err < 0) { in snd_config_hook_load_for_all_cards()
4425 if (err == -EEXIST) { in snd_config_hook_load_for_all_cards()
4434 err = -ENOMEM; in snd_config_hook_load_for_all_cards()
4437 err = _snd_config_hook_table(root, config, private_data); in snd_config_hook_load_for_all_cards()
4438 if (err < 0) in snd_config_hook_load_for_all_cards()
4441 err = snd_config_hook_load(root, config, &n, private_data); in snd_config_hook_load_for_all_cards()
4446 if (err < 0) in snd_config_hook_load_for_all_cards()
4455 return err; in snd_config_hook_load_for_all_cards()
4490 int err; in snd_config_update_r() local
4536 err = snd_user_file(name, &local->finfo[k].name); in snd_config_update_r()
4537 if (err < 0) in snd_config_update_r()
4573 err = 0; in snd_config_update_r()
4576 if (err < 0) { in snd_config_update_r()
4588 return err; in snd_config_update_r()
4601 err = snd_config_top(&top); in snd_config_update_r()
4602 if (err < 0) in snd_config_update_r()
4608 err = snd_input_stdio_open(&in, local->finfo[k].name, "r"); in snd_config_update_r()
4609 if (err >= 0) { in snd_config_update_r()
4610 err = snd_config_load(top, in); in snd_config_update_r()
4612 if (err < 0) { in snd_config_update_r()
4621 err = snd_config_hooks(top, NULL); in snd_config_update_r()
4622 if (err < 0) { in snd_config_update_r()
4651 int err; in snd_config_update() local
4654 err = snd_config_update_r(&snd_config, &snd_config_global_update, NULL); in snd_config_update()
4656 return err; in snd_config_update()
4672 int err; in snd_config_update_ref() local
4677 err = snd_config_update_r(&snd_config, &snd_config_global_update, NULL); in snd_config_update_ref()
4678 if (err >= 0) { in snd_config_update_ref()
4685 err = -ENODEV; in snd_config_update_ref()
4689 return err; in snd_config_update_ref()
4869 int err; in snd_config_walk() local
4874 err = callback(src, root, dst, SND_CONFIG_WALK_PASS_PRE, fcn, private_data); in snd_config_walk()
4875 if (err <= 0) in snd_config_walk()
4876 return err; in snd_config_walk()
4881 err = snd_config_walk(s, root, (dst && *dst) ? &d : NULL, in snd_config_walk()
4883 if (err < 0) in snd_config_walk()
4885 if (err && d) { in snd_config_walk()
4886 err = snd_config_add(*dst, d); in snd_config_walk()
4887 if (err < 0) in snd_config_walk()
4891 err = callback(src, root, dst, SND_CONFIG_WALK_PASS_POST, fcn, private_data); in snd_config_walk()
4892 if (err <= 0) { in snd_config_walk()
4899 err = callback(src, root, dst, SND_CONFIG_WALK_PASS_LEAF, fcn, private_data); in snd_config_walk()
4902 return err; in snd_config_walk()
4912 int err; in _snd_config_copy() local
4917 err = snd_config_make_compound(dst, id, src->u.compound.join); in _snd_config_copy()
4918 if (err < 0) in _snd_config_copy()
4919 return err; in _snd_config_copy()
4922 err = snd_config_make(dst, id, type); in _snd_config_copy()
4923 if (err < 0) in _snd_config_copy()
4924 return err; in _snd_config_copy()
4929 err = snd_config_get_integer(src, &v); in _snd_config_copy()
4930 assert(err >= 0); in _snd_config_copy()
4937 err = snd_config_get_integer64(src, &v); in _snd_config_copy()
4938 assert(err >= 0); in _snd_config_copy()
4945 err = snd_config_get_real(src, &v); in _snd_config_copy()
4946 assert(err >= 0); in _snd_config_copy()
4953 err = snd_config_get_string(src, &s); in _snd_config_copy()
4954 assert(err >= 0); in _snd_config_copy()
4955 err = snd_config_set_string(*dst, s); in _snd_config_copy()
4956 if (err < 0) in _snd_config_copy()
4957 return err; in _snd_config_copy()
5009 int err; in _snd_config_expand() local
5017 err = snd_config_make_compound(dst, id, src->u.compound.join); in _snd_config_expand()
5018 if (err < 0) in _snd_config_expand()
5019 return err; in _snd_config_expand()
5027 err = snd_config_get_integer(src, &v); in _snd_config_expand()
5028 assert(err >= 0); in _snd_config_expand()
5029 err = snd_config_imake_integer(dst, id, v); in _snd_config_expand()
5030 if (err < 0) in _snd_config_expand()
5031 return err; in _snd_config_expand()
5037 err = snd_config_get_integer64(src, &v); in _snd_config_expand()
5038 assert(err >= 0); in _snd_config_expand()
5039 err = snd_config_imake_integer64(dst, id, v); in _snd_config_expand()
5040 if (err < 0) in _snd_config_expand()
5041 return err; in _snd_config_expand()
5047 err = snd_config_get_real(src, &v); in _snd_config_expand()
5048 assert(err >= 0); in _snd_config_expand()
5049 err = snd_config_imake_real(dst, id, v); in _snd_config_expand()
5050 if (err < 0) in _snd_config_expand()
5051 return err; in _snd_config_expand()
5060 err = snd_config_evaluate_string(dst, s, fcn, vars); in _snd_config_expand()
5061 if (err < 0) in _snd_config_expand()
5062 return err; in _snd_config_expand()
5063 err = snd_config_set_id(*dst, id); in _snd_config_expand()
5064 if (err < 0) { in _snd_config_expand()
5066 return err; in _snd_config_expand()
5069 err = snd_config_imake_string(dst, id, s); in _snd_config_expand()
5070 if (err < 0) in _snd_config_expand()
5071 return err; in _snd_config_expand()
5092 int err; in _snd_config_evaluate() local
5101 err = snd_config_search(src, "@func", &c); in _snd_config_evaluate()
5102 if (err < 0) in _snd_config_evaluate()
5104 err = snd_config_get_string(c, &str); in _snd_config_evaluate()
5105 if (err < 0) { in _snd_config_evaluate()
5107 return err; in _snd_config_evaluate()
5110 err = snd_config_search_definition(root, "func", str, &func_conf); in _snd_config_evaluate()
5111 if (err >= 0) { in _snd_config_evaluate()
5115 err = -EINVAL; in _snd_config_evaluate()
5124 err = snd_config_get_string(n, &lib); in _snd_config_evaluate()
5125 if (err < 0) { in _snd_config_evaluate()
5132 err = snd_config_get_string(n, &func_name); in _snd_config_evaluate()
5133 if (err < 0) { in _snd_config_evaluate()
5146 err = -ENOMEM; in _snd_config_evaluate()
5156 err = 0; in _snd_config_evaluate()
5159 err = -ENOENT; in _snd_config_evaluate()
5164 err = -ENXIO; in _snd_config_evaluate()
5170 if (err >= 0) { in _snd_config_evaluate()
5172 err = func(&eval, root, src, private_data); in _snd_config_evaluate()
5173 if (err < 0) in _snd_config_evaluate()
5174 SNDERR("function %s returned error: %s", func_name, snd_strerror(err)); in _snd_config_evaluate()
5176 if (err >= 0 && eval) in _snd_config_evaluate()
5177 err = snd_config_substitute(src, eval); in _snd_config_evaluate()
5181 if (err < 0) in _snd_config_evaluate()
5182 return err; in _snd_config_evaluate()
5222 int err; in load_defaults() local
5223 err = snd_config_copy(&deflt, fld); in load_defaults()
5224 if (err < 0) in load_defaults()
5225 return err; in load_defaults()
5226 err = snd_config_set_id(deflt, def->id); in load_defaults()
5227 if (err < 0) { in load_defaults()
5229 return err; in load_defaults()
5231 err = snd_config_add(subs, deflt); in load_defaults()
5232 if (err < 0) { in load_defaults()
5234 return err; in load_defaults()
5393 int err, vallen; in parse_arg() local
5397 err = parse_string(ptr, val); in parse_arg()
5398 if (err < 0) in parse_arg()
5399 return err; in parse_arg()
5403 err = parse_id(ptr); in parse_arg()
5404 if (err < 0) in parse_arg()
5405 return err; in parse_arg()
5417 err = parse_string(ptr, val); in parse_arg()
5418 if (err < 0) in parse_arg()
5419 return err; in parse_arg()
5422 err = parse_id(ptr); in parse_arg()
5423 if (err < 0) in parse_arg()
5424 return err; in parse_arg()
5442 int err; in parse_args() local
5468 err = snd_input_buffer_open(&input, str + 1, len - 1); in parse_args()
5469 if (err < 0) in parse_args()
5470 return err; in parse_args()
5471 err = snd_config_load_override(subs, input); in parse_args()
5473 if (err < 0) in parse_args()
5474 return err; in parse_args()
5479 err = snd_config_search(defs, id, &d); in parse_args()
5480 if (err < 0) { in parse_args()
5482 return err; in parse_args()
5498 err = parse_arg(&new, &varlen, &val); in parse_args()
5499 if (err < 0) in parse_args()
5508 err = snd_config_search_alias(defs, NULL, var, &def); in parse_args()
5509 if (err < 0) { in parse_args()
5515 err = -EINVAL; in parse_args()
5519 err = snd_config_search(subs, var, &sub); in parse_args()
5520 if (err >= 0) in parse_args()
5523 err = snd_config_search(def, "type", &typ); in parse_args()
5524 if (err < 0) { in parse_args()
5529 err = snd_config_get_string(typ, &tmp); in parse_args()
5530 if (err < 0 || !tmp) in parse_args()
5534 err = snd_config_make(&sub, var, SND_CONFIG_TYPE_INTEGER); in parse_args()
5535 if (err < 0) in parse_args()
5537 err = safe_strtol(val, &v); in parse_args()
5538 if (err < 0) { in parse_args()
5542 err = snd_config_set_integer(sub, v); in parse_args()
5543 if (err < 0) in parse_args()
5547 err = snd_config_make(&sub, var, SND_CONFIG_TYPE_INTEGER64); in parse_args()
5548 if (err < 0) in parse_args()
5550 err = safe_strtoll(val, &v); in parse_args()
5551 if (err < 0) { in parse_args()
5555 err = snd_config_set_integer64(sub, v); in parse_args()
5556 if (err < 0) in parse_args()
5560 err = snd_config_make(&sub, var, SND_CONFIG_TYPE_REAL); in parse_args()
5561 if (err < 0) in parse_args()
5563 err = safe_strtod(val, &v); in parse_args()
5564 if (err < 0) { in parse_args()
5568 err = snd_config_set_real(sub, v); in parse_args()
5569 if (err < 0) in parse_args()
5572 err = snd_config_make(&sub, var, SND_CONFIG_TYPE_STRING); in parse_args()
5573 if (err < 0) in parse_args()
5575 err = snd_config_set_string(sub, val); in parse_args()
5576 if (err < 0) in parse_args()
5579 err = -EINVAL; in parse_args()
5582 err = snd_config_set_id(sub, var); in parse_args()
5583 if (err < 0) in parse_args()
5585 err = snd_config_add(subs, sub); in parse_args()
5586 if (err < 0) { in parse_args()
5591 return err; in parse_args()
5628 int err; in snd_config_expand_custom() local
5630 err = snd_config_walk(config, root, &res, _snd_config_expand, fcn, private_data); in snd_config_expand_custom()
5631 if (err < 0) { in snd_config_expand_custom()
5632 SNDERR("Expand error (walk): %s", snd_strerror(err)); in snd_config_expand_custom()
5633 return err; in snd_config_expand_custom()
5659 int err; in snd_config_expand() local
5661 err = snd_config_search(config, "@args", &defs); in snd_config_expand()
5662 if (err < 0) { in snd_config_expand()
5667 err = snd_config_copy(&res, config); in snd_config_expand()
5668 if (err < 0) in snd_config_expand()
5669 return err; in snd_config_expand()
5671 err = snd_config_top(&subs); in snd_config_expand()
5672 if (err < 0) in snd_config_expand()
5673 return err; in snd_config_expand()
5674 err = load_defaults(subs, defs); in snd_config_expand()
5675 if (err < 0) { in snd_config_expand()
5676 SNDERR("Load defaults error: %s", snd_strerror(err)); in snd_config_expand()
5679 err = parse_args(subs, args, defs); in snd_config_expand()
5680 if (err < 0) { in snd_config_expand()
5681 SNDERR("Parse arguments error: %s", snd_strerror(err)); in snd_config_expand()
5684 err = snd_config_evaluate(subs, root, private_data, NULL); in snd_config_expand()
5685 if (err < 0) { in snd_config_expand()
5686 SNDERR("Args evaluate error: %s", snd_strerror(err)); in snd_config_expand()
5689 err = snd_config_walk(config, root, &res, _snd_config_expand, _snd_config_expand_vars, subs); in snd_config_expand()
5690 if (err < 0) { in snd_config_expand()
5691 SNDERR("Expand error (walk): %s", snd_strerror(err)); in snd_config_expand()
5695 err = snd_config_evaluate(res, root, private_data, NULL); in snd_config_expand()
5696 if (err < 0) { in snd_config_expand()
5697 SNDERR("Evaluate error: %s", snd_strerror(err)); in snd_config_expand()
5702 err = 1; in snd_config_expand()
5706 return err; in snd_config_expand()
5745 int err; in snd_config_search_definition() local
5759 err = snd_config_search_alias_hooks(config, strchr(key, '.') ? NULL : base, key, &conf); in snd_config_search_definition()
5760 if (err < 0) { in snd_config_search_definition()
5762 return err; in snd_config_search_definition()
5764 err = snd_config_expand(conf, config, args, NULL, result); in snd_config_search_definition()
5766 return err; in snd_config_search_definition()