We learn that readdir_r() is deprecated in favor of plain old readdir(), which

is now suppose to be threadsafe using thread-local storage.  So remove the
use of readdir_r() from the test code.  (SQLite itself never calls readdir()
or readdir_r()).

FossilOrigin-Name: 7a0a26ed380dd0bdda50b0204b30b53bbbbc70f278eba02f91541ac6c691aef2
This commit is contained in:
drh 2019-03-22 13:53:25 +00:00
parent fb5567123f
commit ed26483346
3 changed files with 7 additions and 11 deletions

View File

@ -1,5 +1,5 @@
C Add\sthe\s--limit\sN\soption\sto\sdbfuzz2.\s\sSet\sthe\sdefault\scallback\slimit\sto\s250K.
D 2019-03-22T11:38:14.598
C We\slearn\sthat\sreaddir_r()\sis\sdeprecated\sin\sfavor\sof\splain\sold\sreaddir(),\swhich\nis\snow\ssuppose\sto\sbe\sthreadsafe\susing\sthread-local\sstorage.\s\sSo\sremove\sthe\nuse\sof\sreaddir_r()\sfrom\sthe\stest\scode.\s\s(SQLite\sitself\snever\scalls\sreaddir()\nor\sreaddir_r()).
D 2019-03-22T13:53:25.635
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -545,7 +545,7 @@ F src/test_config.c 5ebafbcd5c75ac1c16bb0c8fe926dc325cc03e780943a88ca50e0d9a4fc4
F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
F src/test_demovfs.c a0c3bdd45ed044115c2c9f7779e56eafff18741e
F src/test_devsym.c 1960abbb234b97e9b920f07e99503fc04b443f62bbc3c6ff2c2cea2133e3b8a2
F src/test_fs.c 35a2f7dd8a915900873386331386d9ba1ae1b5026d74fd20c2807bc76221f291
F src/test_fs.c c10706d63e64f1b1d0274e42c5443886c15ee9d6157b3bd330786aeb4057b151
F src/test_func.c d12d805953bcb3bb19f71d29cdc93383b7b7a3369504d2b7e398a1bd77376294
F src/test_hexio.c 1d4469ca61ab202a1fcec6543f584d2407205e8d
F src/test_init.c 4413c211a94b62157ca4c145b3f27c497f03c664
@ -1807,7 +1807,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00
R b244b5e17562bcdcd04926d04362f958
P b99f8512c06b9d47e48b028781265512ce8b812ae4e6af0a7139a093cf9a8f74
R 721d1f8fcb0f28693679b1b90e33dd94
U drh
Z 4d8a567c4836a65843b5f46bbe798ef1
Z 1ebe3d96da2eb6b085008de1980229a2

View File

@ -1 +1 @@
b99f8512c06b9d47e48b028781265512ce8b812ae4e6af0a7139a093cf9a8f74
7a0a26ed380dd0bdda50b0204b30b53bbbbc70f278eba02f91541ac6c691aef2

View File

@ -237,14 +237,10 @@ static int fsdirNext(sqlite3_vtab_cursor *cur){
if( pCsr->pDir ){
struct DIRENT *pRes = 0;
#if defined(__MINGW_H)
pRes = readdir(pCsr->pDir);
if( pRes!=0 ){
memcpy(&pCsr->entry, pRes, sizeof(struct DIRENT));
}
#else
readdir_r(pCsr->pDir, &pCsr->entry, &pRes);
#endif
if( pRes==0 ){
closedir(pCsr->pDir);
pCsr->pDir = 0;