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 | |
parent | e47cd7d15cee80e0a78fb7a4ec0d53e117d37379 (diff) | |
download | slibtool-926d54732abf235cd099e496ec4bc98edffb1fbf.tar.bz2 slibtool-926d54732abf235cd099e496ec4bc98edffb1fbf.tar.xz |
archiver api: record the associated path upon openat() related errors.x
-rw-r--r-- | src/arbits/slbt_archive_dlsyms.c | 2 | ||||
-rw-r--r-- | src/arbits/slbt_archive_mapfile.c | 2 | ||||
-rw-r--r-- | src/arbits/slbt_archive_store.c | 6 | ||||
-rw-r--r-- | src/arbits/slbt_archive_symfile.c | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/src/arbits/slbt_archive_dlsyms.c b/src/arbits/slbt_archive_dlsyms.c index 10201b4..6cacccd 100644 --- a/src/arbits/slbt_archive_dlsyms.c +++ b/src/arbits/slbt_archive_dlsyms.c @@ -359,7 +359,7 @@ static int slbt_ar_create_dlsyms_impl( fdctx.fdcwd,path, O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) - return SLBT_SYSTEM_ERROR(dctx,0); + return SLBT_SYSTEM_ERROR(dctx,path); } else { fdout = fdctx.fdout; } diff --git a/src/arbits/slbt_archive_mapfile.c b/src/arbits/slbt_archive_mapfile.c index 07d947d..27d2b45 100644 --- a/src/arbits/slbt_archive_mapfile.c +++ b/src/arbits/slbt_archive_mapfile.c @@ -120,7 +120,7 @@ static int slbt_ar_create_mapfile_impl( fdctx.fdcwd,path, O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) - return SLBT_SYSTEM_ERROR(dctx,0); + return SLBT_SYSTEM_ERROR(dctx,path); } else { fdout = fdctx.fdout; } 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 */ diff --git a/src/arbits/slbt_archive_symfile.c b/src/arbits/slbt_archive_symfile.c index 498851f..b88791e 100644 --- a/src/arbits/slbt_archive_symfile.c +++ b/src/arbits/slbt_archive_symfile.c @@ -98,7 +98,7 @@ static int slbt_ar_create_symfile_impl( fdctx.fdcwd,path, O_WRONLY|O_CREAT|O_TRUNC, mode)) < 0) - return SLBT_SYSTEM_ERROR(dctx,0); + return SLBT_SYSTEM_ERROR(dctx,path); } else { fdout = fdctx.fdout; } |