summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--mdirs.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/mdirs.c b/mdirs.c
index 9789b65..18ba9da 100644
--- a/mdirs.c
+++ b/mdirs.c
@@ -83,8 +83,19 @@ usage:
 	if (argc == optind)
 		goto usage;
 
-	for (i = 0; i < argc; i++)
+	char toplevel[PATH_MAX];
+	if (!getcwd(toplevel, sizeof toplevel)) {
+		perror("mdirs: getcwd");
+		exit(-1);
+	}
+
+	for (i = 0; i < argc; i++) {
 		mdirs(argv[i]);
+		if (chdir(toplevel) < 0) {
+			perror("mdirs: chdir");
+			exit(-1);
+		}
+	}
 
 	return 0;
 }