summaryrefslogtreecommitdiffstats
path: root/osdep/io.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-17 21:37:38 +0200
committerwm4 <wm4@nowhere>2014-10-17 21:43:18 +0200
commita7eb363ac1acb5566ce1af923d07c658361d5ad4 (patch)
treeb085c3658dae7e76d8d306031e50fd2b75953ed0 /osdep/io.h
parent0abe9b0e0af03199fbc48b41ff38b0e0fa137cf2 (diff)
downloadmpv-a7eb363ac1acb5566ce1af923d07c658361d5ad4.tar.bz2
mpv-a7eb363ac1acb5566ce1af923d07c658361d5ad4.tar.xz
win32: make lseek() fail on pipes
On MingGW seeking on pipes succeeds. This fix is quite similar to Gnulib's (lib/lseek.c).
Diffstat (limited to 'osdep/io.h')
-rw-r--r--osdep/io.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/osdep/io.h b/osdep/io.h
index ae3cdc1802..a24ad7c231 100644
--- a/osdep/io.h
+++ b/osdep/io.h
@@ -77,6 +77,7 @@ int mp_closedir(DIR *dir);
int mp_mkdir(const char *path, int mode);
FILE *mp_tmpfile(void);
char *mp_getenv(const char *name);
+off_t mp_lseek(int fd, off_t offset, int whence);
typedef struct {
size_t gl_pathc;
@@ -105,6 +106,13 @@ void mp_globfree(mp_glob_t *pglob);
#define tmpfile(...) mp_tmpfile(__VA_ARGS__)
#define getenv(...) mp_getenv(__VA_ARGS__)
+// Things MinGW defines as macros, and which we want to override only for the
+// user, and not io.c (which wants the original definition).
+#ifndef MP_HIDE_IO_REPLACEMENTS
+#undef lseek
+#define lseek(...) mp_lseek(__VA_ARGS__)
+#endif
+
#ifndef GLOB_NOMATCH
#define GLOB_NOMATCH 3
#endif