Commits

Anonymous committed 2a1b7f6

small fixes/changes

Comments (0)

Files changed (2)

 	fd_set rd;
 
 	if (argc != 3) {
-		printf("Usage: scw infile outfile\n");
-		printf("scw-"VERSION" © Evan Gates\n");
+		printf("Usage: cw infile outfile\n");
+		printf("cw-"VERSION" © Evan Gates\n");
 		exit(1);
 	}
 	if ((in = fopen(argv[1], "r")) == NULL)
 	if (!(typeflag & FTW_D))
 		return 0;
 
-	if ((wd = inotify_add_watch(evq, fpath, IN_CREATE | IN_MODIFY)) < 0)
+	if ((wd = inotify_add_watch(evq, fpath, IN_CREATE | IN_MODIFY)) < 0) {
 		warn("failed on inotify_add_watch on %s", fpath);
+		return 0;
+	}
 
 	if (paths[wd][0] == '\0') {
 		strcpy(paths[wd], fpath);
 		sprintf(out, "%s/out", fpath);
 		if (!init && stat(out, &st) == 0)
 			win(wd);
-	} else {
-		printf("already have dir: %s\n", fpath);
 	}
 
 	return 0;
 
 int main(int argc, char **argv)
 {
-	char *root, buf[4096];
+	char buf[4096];
 	int i, len;
 	struct inotify_event *cur;
 	struct stat st;
 	if (i >= argc)
 		usage();
 
-	root = argv[i];
-
-	if (stat(root, &st) < 0 || !S_ISDIR(st.st_mode))
-		errx(1, "%s does not exist or is not a directory", root);
+	if (stat(argv[i], &st) < 0 || !S_ISDIR(st.st_mode))
+		errx(1, "%s does not exist or is not a directory", argv[i]);
 
 	if (signal(SIGCHLD, sigchld) == SIG_ERR)
 		err(1, "failed installing SIGCHLD handler");
 		err(1, "failed on inotify_init()");
 
 	init = 1;
-	ftw(root, add_dir, MAX_OPENFD);
+	ftw(argv[i], add_dir, MAX_OPENFD);
 	init = 0;
 
 	for (;;) {
 		if ((len = read(evq, buf, sizeof(buf))) < 0 && errno != EINTR)
 			warn("failed to read from inotify event queue");
+
 		for (cur = (struct inotify_event *)buf;
 			 (char *)cur - buf < len;
 			 cur = (struct inotify_event *)((char *)cur + sizeof(struct inotify_event) + cur->len)) {
+
 			if (cur->mask & (IN_CREATE | IN_ISDIR))
-				ftw(root, add_dir, MAX_OPENFD);
+				ftw(argv[i], add_dir, MAX_OPENFD);
 			if (cur->mask & (IN_CREATE | IN_MODIFY) && !strcmp(cur->name, "out"))
 				win(cur->wd);
 		}
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.