Lines Matching defs:cwd
1 /* save-cwd.c -- Save and restore current working directory.
23 #include "save-cwd.h"
62 save_cwd (struct saved_cwd *cwd)
64 cwd->name = NULL;
66 cwd->desc = open (".", O_SEARCH | O_CLOEXEC);
68 cwd->desc = fd_safer_flag (cwd->desc, O_CLOEXEC);
69 if (cwd->desc < 0)
71 cwd->name = getcwd (NULL, 0);
72 return cwd->name ? 0 : -1;
83 restore_cwd (const struct saved_cwd *cwd)
85 if (0 <= cwd->desc)
86 return fchdir (cwd->desc);
88 return chdir_long (cwd->name);
92 free_cwd (struct saved_cwd *cwd)
94 if (cwd->desc >= 0)
95 close (cwd->desc);
96 free (cwd->name);