summary refs log tree commit diff
path: root/libio/iofgetpos64.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/iofgetpos64.c')
-rw-r--r--libio/iofgetpos64.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libio/iofgetpos64.c b/libio/iofgetpos64.c
index 8a7733bfb5..a705e9e91a 100644
--- a/libio/iofgetpos64.c
+++ b/libio/iofgetpos64.c
@@ -37,6 +37,8 @@ _IO_fgetpos64 (fp, posp)
   _IO_cleanup_region_start ((void (*) __P ((void *))) _IO_funlockfile, fp);
   _IO_flockfile (fp);
   pos = _IO_seekoff (fp, 0, _IO_seek_cur, 0);
+  if (_IO_in_backup (fp))
+    pos -= fp->_IO_save_end - fp->_IO_save_base;
   _IO_funlockfile (fp);
   _IO_cleanup_region_end (0);
   if (pos == _IO_pos_BAD)