summaryrefslogtreecommitdiffstats
path: root/src/wgtpkg-workdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/wgtpkg-workdir.c')
-rw-r--r--src/wgtpkg-workdir.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/wgtpkg-workdir.c b/src/wgtpkg-workdir.c
index c0fb6aa..ea37666 100644
--- a/src/wgtpkg-workdir.c
+++ b/src/wgtpkg-workdir.c
@@ -61,7 +61,7 @@ static void put_workdir(int fd, const char *name, size_t length)
workdir[1] = 0;
workdirfd = AT_FDCWD;
} else {
-
+
assert(length < sizeof workdir);
memcpy(workdir, name, 1 + length);
workdirfd = fd;
@@ -81,6 +81,12 @@ int set_workdir(const char *name, int create)
return -1;
}
+ /* check if . */
+ if (length == 1 && name[0] == '.') {
+ put_workdir(AT_FDCWD, name, length);
+ return 0;
+ }
+
/* opens the directory */
dirfd = openat(AT_FDCWD, name, O_PATH|O_DIRECTORY|O_RDONLY);
if (dirfd < 0) {