diff mbox series

Add support for some non-alphanumeric variable names in the math expr evaluator

Message ID 20211207064720.AF551F8032B@alsa1.perex.cz
State New
Headers show
Series Add support for some non-alphanumeric variable names in the math expr evaluator | expand

Commit Message

GitHub issues - opened Dec. 7, 2021, 6:47 a.m. UTC
alsa-project/alsa-lib issue #197 was edited from ranj063:

The math expression evaluator expects variable names to only be alpha-numeric. So if I have something like "[$DYNAMIC_PIPELINE + 2]", I get the error:

ALSA lib confeval.c:263:(snd_config_evaluate_string) wrong expression '$[$DYNAMIC_PIPELINE + 77]'
ALSA lib conf.c:5632:(snd_config_expand_custom) Expand error (walk): Invalid argument
Failed to expand pre-processor definitions in input config

Is it possible to add support for some non-alphanumeric characters in the variable names , esp '_'? I tried this change it seems to suffice:
```

```

Issue URL     : https://github.com/alsa-project/alsa-lib/issues/197
Repository URL: https://github.com/alsa-project/alsa-lib
diff mbox series

Patch

diff --git a/src/confeval.c b/src/confeval.c
index a971bf38..7330d67e 100644
--- a/src/confeval.c
+++ b/src/confeval.c
@@ -190,7 +190,7 @@  int _snd_eval_string(snd_config_t **dst, const char *s,
                        } else {
                                e = s + 1;
                                while (*e) {
-                                       if (!isalnum(*e))
+                                       if (!isalnum(*e) && (*e != '_'))
                                                break;
                                        e++;
                                }