libbb: add xfstat function
function old new delta xfstat - 25 +25 mkfs_ext2_main 2421 2423 +2 mkfs_reiser_main 1197 1194 -3 next 312 307 -5 ar_main 533 522 -11 mkfs_minix_main 2938 2924 -14 mkfs_vfat_main 1511 1495 -16 writeTarFile 272 255 -17 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/6 up/down: 27/-66) Total: -39 bytes Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
@@ -4989,9 +4989,13 @@ noclobberopen(const char *fname)
|
||||
* revealed that it was a regular file, and the file has not been
|
||||
* replaced, return the file descriptor.
|
||||
*/
|
||||
if (fstat(fd, &finfo2) == 0 && !S_ISREG(finfo2.st_mode)
|
||||
&& finfo.st_dev == finfo2.st_dev && finfo.st_ino == finfo2.st_ino)
|
||||
if (fstat(fd, &finfo2) == 0
|
||||
&& !S_ISREG(finfo2.st_mode)
|
||||
&& finfo.st_dev == finfo2.st_dev
|
||||
&& finfo.st_ino == finfo2.st_ino
|
||||
) {
|
||||
return fd;
|
||||
}
|
||||
|
||||
/* The file has been replaced. badness. */
|
||||
close(fd);
|
||||
|
Reference in New Issue
Block a user