Use setmode() if it exists in <io.h>, and not based on O_BINARY.
authorRamiro Polla <ramiro.polla@gmail.com>
Sun, 11 Jan 2009 22:05:43 +0000 (22:05 +0000)
committerRamiro Polla <ramiro.polla@gmail.com>
Sun, 11 Jan 2009 22:05:43 +0000 (22:05 +0000)
Originally committed as revision 16553 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavformat/file.c

index 6916df4..37af6c4 100755 (executable)
--- a/configure
+++ b/configure
@@ -875,6 +875,7 @@ HAVE_LIST="
     roundf
     sdl
     sdl_video_size
+    setmode
     socklen_t
     soundcard_h
     poll_h
@@ -1823,6 +1824,7 @@ check_func  inet_aton $network_extralibs
 check_func  memalign
 check_func  mkstemp
 check_func  posix_memalign
+check_func_headers io.h setmode
 check_func_headers windows.h GetProcessTimes
 
 check_header conio.h
index e50168d..827541d 100644 (file)
@@ -22,6 +22,9 @@
 #include "libavutil/avstring.h"
 #include "avformat.h"
 #include <fcntl.h>
+#ifdef HAVE_SETMODE
+#include <io.h>
+#endif
 #include <unistd.h>
 #include <sys/time.h>
 #include <stdlib.h>
@@ -104,7 +107,7 @@ static int pipe_open(URLContext *h, const char *filename, int flags)
             fd = 0;
         }
     }
-#ifdef O_BINARY
+#ifdef HAVE_SETMODE
     setmode(fd, O_BINARY);
 #endif
     h->priv_data = (void *)(size_t)fd;