Patch from Barry Bouwsma:
authorMike Smith <msmith@xiph.org>
Wed, 21 Jul 2004 01:35:06 +0000 (01:35 +0000)
committerMike Smith <msmith@xiph.org>
Wed, 21 Jul 2004 01:35:06 +0000 (01:35 +0000)
The problem was in using an int for the return value of a 64-bit
function.  All other references to this function in this source file
use a proper 64-bit value.  This function returns the offset within
the file, and this int wraps to <0 at 2GB, causing an EOS to be
returned for any offset at any further point in a larger file.

svn path=/trunk/vorbis/; revision=7198

lib/vorbisfile.c

index ced2d34..df0eb5f 100644 (file)
@@ -11,7 +11,7 @@
  ********************************************************************
 
  function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.c,v 1.75 2003/09/16 20:28:14 xiphmont Exp $
+ last mod: $Id$
 
  ********************************************************************/
 
@@ -542,7 +542,7 @@ static int _fetch_and_process_packet(OggVorbis_File *vf,
     }
 
     if(vf->ready_state>=OPENED){
-      int ret;
+      ogg_int64_t ret;
       if(!readp)return(0);
       if((ret=_get_next_page(vf,&og,-1))<0){
        return(OV_EOF); /* eof.