Fix #523: handle NNN_PIPE (#525)

Co-authored-by: Todd Yamakawa <todd.yamakawa@arm.com>
This commit is contained in:
Todd Yamakawa 2020-04-17 07:21:57 -05:00 committed by GitHub
parent 58ecc240ed
commit c63fb28eff
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4187,13 +4187,16 @@ static bool run_selected_plugin(char **path, const char *file, char *runfile, ch
g_states |= STATE_PLUGIN_INIT; g_states |= STATE_PLUGIN_INIT;
} }
if (*file == '_')
return run_cmd_as_plugin(*path, file, runfile);
fd = open(g_pipepath, O_RDONLY | O_NONBLOCK); fd = open(g_pipepath, O_RDONLY | O_NONBLOCK);
if (fd == -1) if (fd == -1)
return FALSE; return FALSE;
/* Run plugin from command */
if (*file == '_')
run_cmd_as_plugin(*path, file, runfile);
/* Run command from plugin */
else {
/* Generate absolute path to plugin */ /* Generate absolute path to plugin */
mkpath(plugindir, file, g_buf); mkpath(plugindir, file, g_buf);
@ -4202,10 +4205,10 @@ static bool run_selected_plugin(char **path, const char *file, char *runfile, ch
spawn(g_buf, *lastname, *path, *path, F_NORMAL); spawn(g_buf, *lastname, *path, *path, F_NORMAL);
} else } else
spawn(g_buf, NULL, *path, *path, F_NORMAL); spawn(g_buf, NULL, *path, *path, F_NORMAL);
}
len = read(fd, g_buf, PATH_MAX); len = read(fd, g_buf, PATH_MAX);
g_buf[len] = '\0'; g_buf[len] = '\0';
close(fd); close(fd);
if (len > 1) { if (len > 1) {