mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-20 14:25:40 +00:00
SDL_rwops read/write functions return size_t again
The current status is stored in the SDL_rwops 'status' field to be able to determine whether a 0 return value is caused by end of file, an error, or a non-blocking source not being ready. The functions to read sized datatypes now return SDL_bool so you can detect read errors. Fixes https://github.com/libsdl-org/SDL/issues/6729
This commit is contained in:
@@ -126,19 +126,19 @@ int main(int argc, char **argv)
|
||||
blockalign = (bitsize / 8) * cvtspec.channels;
|
||||
avgbytes = cvtspec.freq * blockalign;
|
||||
|
||||
SDL_WriteLE32(io, 0x46464952); /* RIFF */
|
||||
SDL_WriteLE32(io, dst_len + 36);
|
||||
SDL_WriteLE32(io, 0x45564157); /* WAVE */
|
||||
SDL_WriteLE32(io, 0x20746D66); /* fmt */
|
||||
SDL_WriteLE32(io, 16); /* chunk size */
|
||||
SDL_WriteLE16(io, SDL_AUDIO_ISFLOAT(spec.format) ? 3 : 1); /* uncompressed */
|
||||
SDL_WriteLE16(io, cvtspec.channels); /* channels */
|
||||
SDL_WriteLE32(io, cvtspec.freq); /* sample rate */
|
||||
SDL_WriteLE32(io, avgbytes); /* average bytes per second */
|
||||
SDL_WriteLE16(io, blockalign); /* block align */
|
||||
SDL_WriteLE16(io, bitsize); /* significant bits per sample */
|
||||
SDL_WriteLE32(io, 0x61746164); /* data */
|
||||
SDL_WriteLE32(io, dst_len); /* size */
|
||||
SDL_WriteU32LE(io, 0x46464952); /* RIFF */
|
||||
SDL_WriteU32LE(io, dst_len + 36);
|
||||
SDL_WriteU32LE(io, 0x45564157); /* WAVE */
|
||||
SDL_WriteU32LE(io, 0x20746D66); /* fmt */
|
||||
SDL_WriteU32LE(io, 16); /* chunk size */
|
||||
SDL_WriteU16LE(io, SDL_AUDIO_ISFLOAT(spec.format) ? 3 : 1); /* uncompressed */
|
||||
SDL_WriteU16LE(io, cvtspec.channels); /* channels */
|
||||
SDL_WriteU32LE(io, cvtspec.freq); /* sample rate */
|
||||
SDL_WriteU32LE(io, avgbytes); /* average bytes per second */
|
||||
SDL_WriteU16LE(io, blockalign); /* block align */
|
||||
SDL_WriteU16LE(io, bitsize); /* significant bits per sample */
|
||||
SDL_WriteU32LE(io, 0x61746164); /* data */
|
||||
SDL_WriteU32LE(io, dst_len); /* size */
|
||||
SDL_RWwrite(io, dst_buf, dst_len);
|
||||
|
||||
if (SDL_RWclose(io) == -1) {
|
||||
|
||||
Reference in New Issue
Block a user