Commit bb88ece9 authored by Chris Allegretta's avatar Chris Allegretta
Browse files

Rocco's mods to open_pipe

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1145 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
No related merge requests found
Showing with 16 additions and 6 deletions
+16 -6
......@@ -2,9 +2,10 @@ CVS code -
- General
- Type misalignments and mem leaks in renumber_all, do_justify
and do_spell (Rocco & Steven Kneizys).
- New "External Command" code, originally by Dwayne Rightler.
New function files.c:open_pipe(), changes to do_insertfile(),
new list extcmd_list, cmd is ^X after ^R by default.
- New "External Command" code, originally by Dwayne Rightler,
Chris & Rocco. New function files.c:open_pipe(), changes to
do_insertfile(), new list extcmd_list, cmd is ^X after ^R by
default.
- Added separate regex variable (color_regex and colormatches)
so that color syntax and regex search/replace can coexist.
- files.c:
......
......@@ -26,6 +26,7 @@
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
......@@ -292,6 +293,7 @@ int read_file(int fd, char *filename, int quiet)
int open_pipe(char *command)
{
int fd[2], pid;
int fork_status;
/* Make our pipes. */
......@@ -311,15 +313,22 @@ int open_pipe(char *command)
execl("/bin/sh","/bin/sh","-c",command,0);
exit(0);
}
else if (pid == -1) {
/* Else continue as parent */
close(fd[1]);
if (pid == -1) {
close(fd[0]);
statusbar(_("Could not fork"));
return 1;
}
/* Else continue as parent */
close(fd[1]);
read_file(fd[0],"stdin",0);
set_modified();
wait(&fork_status);
return 0;
}
#endif /* NANO_SMALL */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment