diff options
author | midipix <writeonce@midipix.org> | 2024-03-05 02:35:24 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2024-03-05 02:35:24 +0000 |
commit | 926d54732abf235cd099e496ec4bc98edffb1fbf (patch) | |
tree | c0aeda4f7ce797e4f556dd53f73679e7327e6b27 /src/arbits/slbt_archive_store.c | |
parent | e47cd7d15cee80e0a78fb7a4ec0d53e117d37379 (diff) | |
download | slibtool-926d54732abf235cd099e496ec4bc98edffb1fbf.tar.bz2 slibtool-926d54732abf235cd099e496ec4bc98edffb1fbf.tar.xz |
archiver api: record the associated path upon openat() related errors.x
Diffstat (limited to 'src/arbits/slbt_archive_store.c')
-rw-r--r-- | src/arbits/slbt_archive_store.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arbits/slbt_archive_store.c b/src/arbits/slbt_archive_store.c index cbf2704..293643a 100644 --- a/src/arbits/slbt_archive_store.c +++ b/src/arbits/slbt_archive_store.c @@ -82,7 +82,7 @@ int slbt_ar_store_archive( if (fstatat(fdat,buf,&st,0) < 0) return SLBT_SYSTEM_ERROR( - dctx,0); + dctx,buf); } else { if (fstatat(fdat,".",&st,0) < 0) return SLBT_SYSTEM_ERROR( @@ -109,7 +109,7 @@ int slbt_ar_store_archive( SLBT_ERR_FLOW_ERROR); if ((fdtmp = openat(fdat,buf,O_WRONLY|O_CREAT|O_EXCL,mode)) < 0) - return SLBT_SYSTEM_ERROR(dctx,0); + return SLBT_SYSTEM_ERROR(dctx,buf); /* set archive size */ if (ftruncate(fdtmp,arctx->map->map_size) < 0) @@ -137,7 +137,7 @@ int slbt_ar_store_archive( /* finalize (atomically) */ if (renameat(fdat,buf,fdat,path) < 0) { unlinkat(fdat,buf,0); - return SLBT_SYSTEM_ERROR(dctx,0); + return SLBT_SYSTEM_ERROR(dctx,buf); } /* yay */ |