[FFmpeg-devel] [PATCH] Fix cmdutils.c:read_file() on Windows.

Måns Rullgård mans
Sat May 22 13:31:49 CEST 2010

Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> On Fri, May 21, 2010 at 07:05:15PM -0300, Ramiro Polla wrote:
>> Hi,
>> r22769 moved reading of the 2pass file to cmdutils.c, and removed the
>> re-attribution of size to the return value of fread(). On Windows, the
>> file size from fseek/ftell returns the total file size (with \r
>> characters), but the return value of fread() (and therefore the number
>> of bytes actually read) don't include \r characters.
>> I attached two possible fixes: one re-attributes size to the return
>> value of fread(), the other opens the file in binary mode.
>> I don't know if any system will choke on the extra 'b' in "rb" on the
>> second option, but anyways I prefer option 1...
> I think a "b" in the fopen for both reading and writing would be better,
> I don't like the idea of the 2pass file having different contents on
> Windows.

A "b" in the mode string is allowed by the standards, so that's the
best solution IMO.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list