diff options
-rw-r--r-- | degesch.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -7276,7 +7276,16 @@ plugin_config_name (struct plugin *self) begin = p; size_t len = strcspn (begin, "."); - return len ? xstrndup (begin, len) : NULL; + if (!len) + return NULL; + + // XXX: we might also allow arbitrary strings as object keys (except dots) + // taking care to use the "" syntax while serializing + char *copy = xstrndup (begin, len); + for (char *p = copy; *p; p++) + if (!config_tokenizer_is_word_char (*p)) + *p = '_'; + return copy; } // --- Lua --------------------------------------------------------------------- |