Source

pcw / cw.c

Diff from to
 #include <err.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 int main(int argc, char **argv)
 {
-	int evq, len;
+	int evq, len, fd;
 	int in_wd = 0, out_wd = 0;
 	struct inotify_event *cur;
 	fd_set rd;
 	if ((in_wd = inotify_add_watch(evq, argv[1], IN_MODIFY)) < 0)
 		err(1, "failed inotify_add_watch on %s", argv[1]);
 
-	if ((out = fopen(argv[2], "w")) == NULL)
-		err(1, "failed to fopen %s", argv[2]);
+	if ((fd = open(argv[2], O_WRONLY)) < 0)
+		err(1, "failed to open %s", argv[2]);
+	if ((out = fdopen(fd, "w")) == NULL)
+		err(1, "failed to fdopen %s on fd %d", argv[2], fd);
 	if ((out_wd = inotify_add_watch(evq, argv[2], IN_CLOSE_NOWRITE)) < 0)
 		err(1, "failed inotify_add_watch on %s", argv[2]);
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.