- /* *This* is why people hate C. */
- len = 32;
- m->basename = talloc_array(m, char, len);
- while (!getcwd(m->basename, len)) {
- if (errno != ERANGE)
- err(1, "Getting current directory");
- m->basename = talloc_realloc(m, m->basename, char, len *= 2);
- }
+ olddir = talloc_getcwd(NULL);
+ if (!olddir)
+ err(1, "Getting current directory");
+
+ if (chdir(dir) != 0)
+ err(1, "Failed to chdir to %s", dir);