Browse Source

Fix #523: handle NNN_PIPE (#525)

Co-authored-by: Todd Yamakawa <todd.yamakawa@arm.com>
master
Todd Yamakawa GitHub 5 years ago
parent
commit
c63fb28eff
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 11 deletions
  1. +14
    -11
      src/nnn.c

+ 14
- 11
src/nnn.c View File

@@ -4187,25 +4187,28 @@ 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;


/* Generate absolute path to plugin */ /* Run plugin from command */
mkpath(plugindir, file, g_buf); if (*file == '_')
run_cmd_as_plugin(*path, file, runfile);


if (runfile && runfile[0]) { /* Run command from plugin */
xstrsncpy(*lastname, runfile, NAME_MAX); else {
spawn(g_buf, *lastname, *path, *path, F_NORMAL); /* Generate absolute path to plugin */
} else mkpath(plugindir, file, g_buf);
spawn(g_buf, NULL, *path, *path, F_NORMAL); if (runfile && runfile[0]) {
xstrsncpy(*lastname, runfile, NAME_MAX);
spawn(g_buf, *lastname, *path, *path, F_NORMAL);
} else
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) {


||||||
x
 
000:0
Loading…
Cancel
Save