So this bug (ticket #92) was fixed in r392. There's a slight problem with
the fix. In the patch I supplied, I had it "return -1" in the event of no
characters being read. Since it's emulating getc, I perhaps should have
returned the constant EOF (-1), but since all the calls to this function
check using "if (result < 0)", I thought the most appropriate constant to
return was the literal -1.

In r392, it was changed to "return FLUID_FAILED". This constant just happens
to also be -1 (so it works), but it's the wrong constant. Many FluidSynth
functions return FLUID_OK or FLUID_FAILED, and then the call checks "if
(result != FLUID_OK)". fluid_midi_file_getc is not such a function. It
returns the character as an int, and the calls check "if (result < 0)". If
FLUID_FAILED were changed to a different constant, this code would break.
Can it be changed to "return -1" or "return EOF"?

Matt
_______________________________________________
fluid-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to