--- exuberant-ctags.prev.c 2019-08-09 00:17:19.408405238 +0300 +++ exuberant-ctags.c 2019-08-09 00:42:44.700113001 +0300 @@ -177,7 +177,7 @@ static pid_t pid; static char *argv[] = { "ctags", - "" + "--options=/home/user/.ctags.d/custom.ctags", NULL, #if defined(USE_EXTRA_FIELDS) "--_xformat=%R %-16N %4n %-16F %C", @@ -202,11 +202,11 @@ if (!ctagscom || !strlen(ctagscom) || !strcmp(ctagscom, "no")) param->die(ctagsnotfound); argv[0] = ctagscom; - argv[1] = malloc(sizeof(LANGMAP_OPTION) + strlen(param->langmap)); - if (argv[1] == NULL) + argv[2] = malloc(sizeof(LANGMAP_OPTION) + strlen(param->langmap)); + if (argv[2] == NULL) param->die("short of memory."); - memcpy(argv[1], LANGMAP_OPTION, sizeof(LANGMAP_OPTION) - 1); - copy_langmap_converting_cpp(argv[1] + sizeof(LANGMAP_OPTION) - 1, param->langmap); + memcpy(argv[2], LANGMAP_OPTION, sizeof(LANGMAP_OPTION) - 1); + copy_langmap_converting_cpp(argv[2] + sizeof(LANGMAP_OPTION) - 1, param->langmap); if (pipe(opipe) < 0 || pipe(ipipe) < 0) param->die("cannot create pipe."); @@ -227,7 +227,7 @@ if (pid < 0) param->die("fork failed."); free(path); - free(argv[1]); + free(argv[2]); close(opipe[0]); close(ipipe[1]); ip = fdopen(ipipe[0], "r");