Additional cleanup for SDL_RWprintf() (thanks @sezero!)

This commit is contained in:
Sam Lantinga
2023-11-04 20:47:08 -07:00
parent e5f2cea234
commit 2a1660ab51
2 changed files with 11 additions and 5 deletions

View File

@@ -518,7 +518,7 @@ extern DECLSPEC size_t SDLCALL SDL_RWwrite(SDL_RWops *context, const void *ptr,
* \sa SDL_RWseek
* \sa SDL_RWwrite
*/
extern DECLSPEC size_t SDLCALL SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...);
extern DECLSPEC size_t SDLCALL SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
/**
* Print to an SDL_RWops data stream.

View File

@@ -812,14 +812,17 @@ size_t SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt
{
va_list ap;
int size;
char *string = NULL;
char *string;
size_t bytes;
va_start(ap, fmt);
size = SDL_vasprintf(&string, fmt, ap);
va_end(ap);
if (size < 0) {
return 0;
}
bytes = SDL_RWwrite(context, string, size);
bytes = SDL_RWwrite(context, string, (size_t)size);
SDL_free(string);
return bytes;
}
@@ -827,12 +830,15 @@ size_t SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt
size_t SDL_RWvprintf(SDL_RWops *context, const char *fmt, va_list ap)
{
int size;
char *string = NULL;
char *string;
size_t bytes;
size = SDL_vasprintf(&string, fmt, ap);
if (size < 0) {
return 0;
}
bytes = SDL_RWwrite(context, string, size);
bytes = SDL_RWwrite(context, string, (size_t)size);
SDL_free(string);
return bytes;
}