aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS12
-rw-r--r--sysdeps/posix/pathconf.c14
3 files changed, 15 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index ae8cab2..414e043 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-09 Peter Brett <peter@peter-b.co.uk>
+
+ [BZ #15514]
+ * sysdeps/posix/pathconf.c (__pathconf): Use statvfs64() for
+ pathconf(_PC_NAME_MAX).
+
2014-04-09 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
* nptl/sysdeps/pthread/pthread.h (__PTHREAD_MUTEX_HAVE_ELISION):
diff --git a/NEWS b/NEWS
index db8cc10..441eae3 100644
--- a/NEWS
+++ b/NEWS
@@ -9,12 +9,12 @@ Version 2.20
* The following bugs are resolved with this release:
- 6804, 13347, 15347, 15804, 15894, 16002, 16198, 16284, 16348, 16349,
- 16357, 16362, 16447, 16532, 16545, 16574, 16599, 16600, 16609, 16610,
- 16611, 16613, 16623, 16632, 16634, 16639, 16642, 16648, 16649, 16670,
- 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707, 16712,
- 16713, 16714, 16731, 16739, 16743, 16758, 16759, 16760, 16770, 16786,
- 16789, 16799, 16800, 16815.
+ 6804, 13347, 15347, 15514, 15804, 15894, 16002, 16198, 16284, 16348,
+ 16349, 16357, 16362, 16447, 16532, 16545, 16574, 16599, 16600, 16609,
+ 16610, 16611, 16613, 16623, 16632, 16634, 16639, 16642, 16648, 16649,
+ 16670, 16674, 16677, 16680, 16683, 16689, 16695, 16701, 16706, 16707,
+ 16712, 16713, 16714, 16731, 16739, 16743, 16758, 16759, 16760, 16770,
+ 16786, 16789, 16799, 16800, 16815.
* Running the testsuite no longer terminates as soon as a test fails.
Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,
diff --git a/sysdeps/posix/pathconf.c b/sysdeps/posix/pathconf.c
index 8aa55e0..ac617d4 100644
--- a/sysdeps/posix/pathconf.c
+++ b/sysdeps/posix/pathconf.c
@@ -65,10 +65,10 @@ __pathconf (const char *path, int name)
case _PC_NAME_MAX:
#ifdef NAME_MAX
{
- struct statfs buf;
+ struct statvfs64 sv;
int save_errno = errno;
- if (__statfs (path, &buf) < 0)
+ if (__statvfs64 (path, &sv) < 0)
{
if (errno == ENOSYS)
{
@@ -79,15 +79,7 @@ __pathconf (const char *path, int name)
}
else
{
-#ifdef _STATFS_F_NAMELEN
- return buf.f_namelen;
-#else
-# ifdef _STATFS_F_NAME_MAX
- return buf.f_name_max;
-# else
- return NAME_MAX;
-# endif
-#endif
+ return sv.f_namemax;
}
}
#else