-rw-r--r-- | lib/sitecing_util.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sitecing_util.cc b/lib/sitecing_util.cc index 9b6c54e..5466b28 100644 --- a/lib/sitecing_util.cc +++ b/lib/sitecing_util.cc @@ -251,25 +251,26 @@ namespace sitecing { return "/"; }else{ rv.erase(lsl+1); return rv; } } rv += '/'; rv += r; return rv; } void auto_chdir::pushdir(const string& td,bool ap) { - char *tmp = get_current_dir_name(); + /* TODO: make use of fchdir(2) instead */ + char *tmp = getcwd(0,0); assert(tmp); saved_pwd = tmp; free(tmp); autopop=ap; if(chdir(td.c_str())) throw konforka::exception(CODEPOINT,"failed to chdir()"); } void auto_chdir::popdir() { autopop=false; if(chdir(saved_pwd.c_str())) throw konforka::exception(CODEPOINT,"failed to chdir()"); // XXX: or should it be thrown? after all we call it from destructor... |