- 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:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
+#include <sys/wait.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
int open_pipe(char *command)
{
int fd[2], pid;
+ int fork_status;
/* Make our pipes. */
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 */