aboutsummaryrefslogtreecommitdiff
path: root/src/os.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-08-02 20:45:04 +0000
committerdrh <drh@noemail.net>2019-08-02 20:45:04 +0000
commitade54d68ee770d74ff98716f3eae9ecb2512da54 (patch)
treedd4f462e0e00ae7d9e1d034e208035777aca31f0 /src/os.c
parent0bf6549cd184c58dc4b8867405c40bfda5ba75b1 (diff)
downloadsqlite-ade54d68ee770d74ff98716f3eae9ecb2512da54.tar.gz
sqlite-ade54d68ee770d74ff98716f3eae9ecb2512da54.zip
Add the SQLITE_TESTCTRL_PRNG_SEED test control.
FossilOrigin-Name: 3ac5723164ae801e209ce525a5d94692767136f9d06be2a84883dcea677d02da
Diffstat (limited to 'src/os.c')
-rw-r--r--src/os.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/os.c b/src/os.c
index 54b7fcfb2..08701028b 100644
--- a/src/os.c
+++ b/src/os.c
@@ -258,7 +258,15 @@ void sqlite3OsDlClose(sqlite3_vfs *pVfs, void *pHandle){
}
#endif /* SQLITE_OMIT_LOAD_EXTENSION */
int sqlite3OsRandomness(sqlite3_vfs *pVfs, int nByte, char *zBufOut){
- return pVfs->xRandomness(pVfs, nByte, zBufOut);
+ if( sqlite3Config.iPrngSeed ){
+ memset(zBufOut, 0, nByte);
+ if( nByte>sizeof(unsigned) ) nByte = sizeof(unsigned int);
+ memcpy(zBufOut, &sqlite3Config.iPrngSeed, nByte);
+ return SQLITE_OK;
+ }else{
+ return pVfs->xRandomness(pVfs, nByte, zBufOut);
+ }
+
}
int sqlite3OsSleep(sqlite3_vfs *pVfs, int nMicro){
return pVfs->xSleep(pVfs, nMicro);