mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-12-21 04:35:23 +08:00
Removed SDL_RWFromFP from the public API
This will blow up if the SDL library and the application have a different C runtime, which can easily happen on Windows.
This commit is contained in:
@@ -384,111 +384,6 @@ rwops_testFileWrite(void)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Tests reading from file handle
|
||||
*
|
||||
* \sa
|
||||
* http://wiki.libsdl.org/SDL_RWFromFP
|
||||
* http://wiki.libsdl.org/SDL_RWClose
|
||||
*
|
||||
*/
|
||||
int
|
||||
rwops_testFPRead(void)
|
||||
{
|
||||
#ifdef HAVE_LIBC
|
||||
FILE *fp;
|
||||
SDL_RWops *rw;
|
||||
int result;
|
||||
|
||||
/* Run read tests. */
|
||||
fp = fopen(RWopsReadTestFilename, "r");
|
||||
SDLTest_AssertCheck(fp != NULL, "Verify handle from opening file '%s' in read mode is not NULL", RWopsReadTestFilename);
|
||||
|
||||
/* Bail out if NULL */
|
||||
if (fp == NULL) return TEST_ABORTED;
|
||||
|
||||
/* Open */
|
||||
rw = SDL_RWFromFP( fp, SDL_TRUE );
|
||||
SDLTest_AssertPass("Call to SDL_RWFromFP() succeeded");
|
||||
SDLTest_AssertCheck(rw != NULL, "Verify opening file with SDL_RWFromFP in read mode does not return NULL");
|
||||
|
||||
/* Bail out if NULL */
|
||||
if (rw == NULL) {
|
||||
fclose(fp);
|
||||
return TEST_ABORTED;
|
||||
}
|
||||
|
||||
/* Check type */
|
||||
SDLTest_AssertCheck(
|
||||
rw->type == SDL_RWOPS_STDFILE,
|
||||
"Verify RWops type is SDL_RWOPS_STDFILE; expected: %d, got: %" SDL_PRIu32, SDL_RWOPS_STDFILE, rw->type);
|
||||
|
||||
/* Run generic tests */
|
||||
_testGenericRWopsValidations( rw, 0 );
|
||||
|
||||
/* Close handle - does fclose() */
|
||||
result = SDL_RWclose(rw);
|
||||
SDLTest_AssertPass("Call to SDL_RWclose() succeeded");
|
||||
SDLTest_AssertCheck(result == 0, "Verify result value is 0; got: %d", result);
|
||||
|
||||
#endif /* HAVE_LIBC */
|
||||
|
||||
return TEST_COMPLETED;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Tests writing to file handle
|
||||
*
|
||||
* \sa
|
||||
* http://wiki.libsdl.org/SDL_RWFromFP
|
||||
* http://wiki.libsdl.org/SDL_RWClose
|
||||
*
|
||||
*/
|
||||
int
|
||||
rwops_testFPWrite(void)
|
||||
{
|
||||
#ifdef HAVE_LIBC
|
||||
FILE *fp;
|
||||
SDL_RWops *rw;
|
||||
int result;
|
||||
|
||||
/* Run write tests. */
|
||||
fp = fopen(RWopsWriteTestFilename, "w+");
|
||||
SDLTest_AssertCheck(fp != NULL, "Verify handle from opening file '%s' in write mode is not NULL", RWopsWriteTestFilename);
|
||||
|
||||
/* Bail out if NULL */
|
||||
if (fp == NULL) return TEST_ABORTED;
|
||||
|
||||
/* Open */
|
||||
rw = SDL_RWFromFP( fp, SDL_TRUE );
|
||||
SDLTest_AssertPass("Call to SDL_RWFromFP() succeeded");
|
||||
SDLTest_AssertCheck(rw != NULL, "Verify opening file with SDL_RWFromFP in write mode does not return NULL");
|
||||
|
||||
/* Bail out if NULL */
|
||||
if (rw == NULL) {
|
||||
fclose(fp);
|
||||
return TEST_ABORTED;
|
||||
}
|
||||
|
||||
/* Check type */
|
||||
SDLTest_AssertCheck(
|
||||
rw->type == SDL_RWOPS_STDFILE,
|
||||
"Verify RWops type is SDL_RWOPS_STDFILE; expected: %d, got: %" SDL_PRIu32, SDL_RWOPS_STDFILE, rw->type);
|
||||
|
||||
/* Run generic tests */
|
||||
_testGenericRWopsValidations( rw, 1 );
|
||||
|
||||
/* Close handle - does fclose() */
|
||||
result = SDL_RWclose(rw);
|
||||
SDLTest_AssertPass("Call to SDL_RWclose() succeeded");
|
||||
SDLTest_AssertCheck(result == 0, "Verify result value is 0; got: %d", result);
|
||||
|
||||
#endif /* HAVE_LIBC */
|
||||
|
||||
return TEST_COMPLETED;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Tests alloc and free RW context.
|
||||
*
|
||||
@@ -728,24 +623,18 @@ static const SDLTest_TestCaseReference rwopsTest5 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testFileWrite, "rwops_testFileWrite", "Test writing to a file", TEST_ENABLED };
|
||||
|
||||
static const SDLTest_TestCaseReference rwopsTest6 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testFPRead, "rwops_testFPRead", "Test reading from file pointer", TEST_ENABLED };
|
||||
|
||||
static const SDLTest_TestCaseReference rwopsTest7 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testFPWrite, "rwops_testFPWrite", "Test writing to file pointer", TEST_ENABLED };
|
||||
|
||||
static const SDLTest_TestCaseReference rwopsTest8 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testAllocFree, "rwops_testAllocFree", "Test alloc and free of RW context", TEST_ENABLED };
|
||||
|
||||
static const SDLTest_TestCaseReference rwopsTest9 =
|
||||
static const SDLTest_TestCaseReference rwopsTest7 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testFileWriteReadEndian, "rwops_testFileWriteReadEndian", "Test writing and reading via the Endian aware functions", TEST_ENABLED };
|
||||
|
||||
static const SDLTest_TestCaseReference rwopsTest10 =
|
||||
static const SDLTest_TestCaseReference rwopsTest8 =
|
||||
{ (SDLTest_TestCaseFp)rwops_testCompareRWFromMemWithRWFromFile, "rwops_testCompareRWFromMemWithRWFromFile", "Compare RWFromMem and RWFromFile RWops for read and seek", TEST_ENABLED };
|
||||
|
||||
/* Sequence of RWops test cases */
|
||||
static const SDLTest_TestCaseReference *rwopsTests[] = {
|
||||
&rwopsTest1, &rwopsTest2, &rwopsTest3, &rwopsTest4, &rwopsTest5, &rwopsTest6,
|
||||
&rwopsTest7, &rwopsTest8, &rwopsTest9, &rwopsTest10, NULL
|
||||
&rwopsTest7, &rwopsTest8, NULL
|
||||
};
|
||||
|
||||
/* RWops test suite (global) */
|
||||
|
||||
Reference in New Issue
Block a user