Don't define open or fopen if _FILE_OFFSET_BITS == 64
authorAndreas Oberritter <obi@saftware.de>
Sat, 15 Aug 2009 14:17:19 +0000 (16:17 +0200)
committerAndreas Oberritter <obi@saftware.de>
Sat, 15 Aug 2009 14:17:19 +0000 (16:17 +0200)
If _FILE_OFFSET_BITS is 64, then (f)open will be converted
automatically to (f)open64, resulting in duplicate symbols

tools/libopen.c

index a3ae07c..f6b935e 100644 (file)
@@ -45,6 +45,7 @@ int open64(const char *pathname, int flags, ...)
        return fd;
 }
 
+#if _FILE_OFFSET_BITS != 64
 int open(const char *pathname, int flags, ...)
 {
        typedef int (*FUNC_PTR) (const char* pathname, int flags, ...);
@@ -81,6 +82,7 @@ int open(const char *pathname, int flags, ...)
        }
        return fd;
 }
+#endif
 
 FILE *fopen64(const char *pathname, const char *mode)
 {
@@ -120,6 +122,7 @@ FILE *fopen64(const char *pathname, const char *mode)
        return f;
 }
 
+#if _FILE_OFFSET_BITS != 64
 FILE *fopen(const char *pathname, const char *mode)
 {
        typedef FILE *(*FUNC_PTR) (const char* pathname, const char *mode);
@@ -157,6 +160,7 @@ FILE *fopen(const char *pathname, const char *mode)
        }
        return f;
 }
+#endif
 
 int socket(int domain, int type, int protocol)
 {