summaryrefslogtreecommitdiff
path: root/posix
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-02-06 21:29:50 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-02-06 21:29:50 +0000
commit663e7d784977f6b15c0cab73f754f9f39c9c0c2c (patch)
treee0c7e844ab63b1785c91d3231d9ae7ec6fe852c9 /posix
parent6d7aa2b531088c3a277911534179975eb2622954 (diff)
Only define loff_t for __USE_MISC (bug 14553).
Bug 14553 reports that sys/types.h defines loff_t unconditionally, despite it not being part of any supported standard. This is permitted by the POSIX *_t reservation, but as a quality-of-implementation issue it's still best not to define it except for __USE_MISC. This patch conditions the definition accordingly, updating a macro in sysdeps/unix/sysv/linux/sys/quota.h to use __loff_t so it still works even if __USE_MISC is not defined. codesearch.debian.net suggests there are quite a lot of loff_t uses outside glibc, but it might well make sense to change all (few) uses of loff_t or __loff_t inside glibc to use off64_t or __off64_t instead, leaving only the definitions, treating this name as obsolescent. Tested for x86_64. [BZ #14553] * posix/sys/types.h (loff_t): Only define for [__USE_MISC]. * sysdeps/unix/sysv/linux/sys/quota.h (dqoff): Use __loff_t instead of loff_t.
Diffstat (limited to 'posix')
-rw-r--r--posix/sys/types.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/posix/sys/types.h b/posix/sys/types.h
index a9e0005cab..e8d51a1342 100644
--- a/posix/sys/types.h
+++ b/posix/sys/types.h
@@ -39,9 +39,8 @@ typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
# define __u_char_defined
# endif
-#endif
-
typedef __loff_t loff_t;
+#endif
#ifndef __ino_t_defined
# ifndef __USE_FILE_OFFSET64