summaryrefslogtreecommitdiff
path: root/src/libstddjb/rm_rf_tmp.c
blob: 6e434d7852c19f43b298291aa70fabd735d8e865 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* ISC license. */

#include <skalibs/stralloc.h>
#include <skalibs/djbunix.h>

int rm_rf_tmp (char const *filename, stralloc *tmp)
{
  unsigned int tmpbase = tmp->len ;
  if (!stralloc_cats(tmp, filename)) return -1 ;
  if (!stralloc_0(tmp)) goto err ;
  if (rm_rf_in_tmp(tmp, tmpbase) == -1) goto err ;
  tmp->len = tmpbase ;
  return 0 ;

err:
  tmp->len = tmpbase ;
  return -1 ;
}