diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-01-08 13:02:18 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-01-08 13:02:18 +0000 |
commit | 8218512811aceef63956fb5a41785e4cbc0ffd31 (patch) | |
tree | 9d48de3fb761e3ad501acece1df17f9094cfba11 /src/libunixonacid/mkdir_unique.c | |
parent | 30d0c173d87b92a9ad2f3c1b643463a894abb1d9 (diff) | |
download | skalibs-8218512811aceef63956fb5a41785e4cbc0ffd31.tar.xz |
Remove mkdir_unique, rewrite atomic_symlink with mkltemp
Diffstat (limited to 'src/libunixonacid/mkdir_unique.c')
-rw-r--r-- | src/libunixonacid/mkdir_unique.c | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/src/libunixonacid/mkdir_unique.c b/src/libunixonacid/mkdir_unique.c deleted file mode 100644 index 83e240e..0000000 --- a/src/libunixonacid/mkdir_unique.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ISC license. */ - -#include <sys/types.h> -#include <sys/stat.h> -#include <skalibs/stralloc.h> -#include <skalibs/random.h> -#include <skalibs/unix-transactional.h> - -int mkdir_unique (stralloc *sa, char const *fn, unsigned int mode) -{ - size_t base = sa->len ; - int wasnull = !sa->s ; - if (!stralloc_cats(sa, fn)) return 0 ; - if (!stralloc_cats(sa, "/mkdir_unique:")) goto fail ; - if (!random_sauniquename(sa, 64)) goto fail ; - if (!stralloc_0(sa)) goto fail ; - if (mkdir(sa->s + base, mode) < 0) goto fail ; - sa->len-- ; - return 1 ; - - fail: - if (wasnull) stralloc_free(sa) ; - else sa->len = base ; - return 0 ; -} |