diff options
Diffstat (limited to 'multimedia/libmp4v2/patches/patch-ao')
-rw-r--r-- | multimedia/libmp4v2/patches/patch-ao | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/multimedia/libmp4v2/patches/patch-ao b/multimedia/libmp4v2/patches/patch-ao new file mode 100644 index 00000000000..e19d25a02c3 --- /dev/null +++ b/multimedia/libmp4v2/patches/patch-ao @@ -0,0 +1,28 @@ +$NetBSD: patch-ao,v 1.1 2012/02/24 18:36:48 christos Exp $ + +--- lib/mp4v2/virtual_io.cpp.orig 2006-10-23 18:26:38.000000000 -0400 ++++ lib/mp4v2/virtual_io.cpp 2012-02-24 13:04:41.000000000 -0500 +@@ -39,20 +39,16 @@ + int FILE_SetPosition(void *user, u_int64_t position) + { + FILE *fp = (FILE *)user; +- fpos_t fpos; +- VAR_TO_FPOS(fpos, position); +- return fsetpos(fp, &fpos); ++ return fseeko(fp, position, SEEK_SET) == -1 ? -1 : 0; + } + + int FILE_GetPosition(void *user, u_int64_t *position) + { + FILE *fp = (FILE *)user; +- fpos_t fpos; +- if (fgetpos(fp, &fpos) < 0) { ++ *position = ftello(fp); ++ if (*position == (u_int64_t)-1) { + throw new MP4Error(errno, "MP4GetPosition"); + } +- +- FPOS_TO_VAR(fpos, u_int64_t, *position); + return 0; + } + |