Date 14.6.2012 14:10, Takashi Iwai wrote:
Hi,
is anyone already using preinit / postinit scripts of alsactl init? I'm thinking of appliny the patch below, but before that, I'd like to make sure that *.conf is the appropriate extension.
Hi,
This filename filter looks good to me. I have no objections to use the .conf extension.
While improving this code, adding a filename sort might be also useful ;-)
From: Takashi Iwai tiwai@suse.de Subject: [PATCH] alsactl: Read only *.conf files when a directory is passed via INCLUDE
When alsactl init is invoked and a directory path is passed to INCLUDE command in the config file, read only *.conf files in that directory. This will avoid reading backup files or invalid files that have been created accidentally.
Signed-off-by: Takashi Iwai tiwai@suse.de
alsactl/init_parse.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/alsactl/init_parse.c b/alsactl/init_parse.c index 51b515c..83d12ba 100644 --- a/alsactl/init_parse.c +++ b/alsactl/init_parse.c @@ -1502,12 +1502,16 @@ static int parse_line(struct space *space, char *line, size_t linesize) if (dir) { count = strlen(string); while ((dirent = readdir(dir)) != NULL) {
if (strcmp(dirent->d_name, ".") == 0 ||
strcmp(dirent->d_name, "..") == 0)
const char *name = dirent->d_name;
const char *ext;
if (*name == '.')
continue;
ext = strrchr(name, ',');
'.' should be matched here...
if (!ext || strcmp(ext, ".conf")) continue;
Please, update also the documentation in alsactl_init.xml .
Thanks, Jaroslav