From 7549e784a8d6831dfff0c3b944a653cf8c92584f Mon Sep 17 00:00:00 2001 From: drh <> Date: Tue, 17 Feb 2026 14:28:18 +0000 Subject: [PATCH] Minor fixes to tmstmpvfs.c. FossilOrigin-Name: 091bd90ed5a6a326fd532e93bd17903e052476da14dc6aee2599a9acf75a3276 --- ext/misc/tmstmpvfs.c | 12 ++++++++---- manifest | 12 ++++++------ manifest.uuid | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/ext/misc/tmstmpvfs.c b/ext/misc/tmstmpvfs.c index da67a20772..6f1af36f74 100644 --- a/ext/misc/tmstmpvfs.c +++ b/ext/misc/tmstmpvfs.c @@ -484,6 +484,7 @@ static void tmstmpPutU32(u32 v, unsigned char *a){ /* Free a TmstmpLog object */ static void tmstmpLogFree(TmstmpLog *pLog){ if( pLog==0 ) return; + if( pLog->log ) fclose(pLog->log); sqlite3_free(pLog->zLogname); sqlite3_free(pLog); } @@ -502,6 +503,7 @@ static int tmstmpLogFlush(TmstmpFile *p){ } } (void)fwrite(pLog->a, pLog->n, 1, pLog->log); + fflush(pLog->log); pLog->n = 0; return 0; } @@ -619,7 +621,7 @@ static int tmstmpWrite( u32 x = 0; p->iFrame = (iOfst - 32)/(p->pgsz+24)+1; p->pgno = tmstmpGetU32((const u8*)zBuf); - p->salt1 = tmstmpGetU32(((const u8*)zBuf)+16); + p->salt1 = tmstmpGetU32(((const u8*)zBuf)+8); memcpy(&x, ((const u8*)zBuf)+4, 4); p->isCommit = (x!=0); p->iOfst = iOfst; @@ -637,7 +639,7 @@ static int tmstmpWrite( memset(s, 0, TMSTMP_RESERVE); tmstmpPutTS(p, s+2); tmstmpPutU32(p->iFrame, s+8); - tmstmpPutU32(p->pPartner->salt1, s+12); + tmstmpPutU32(p->pPartner->salt1 & 0xffffff, s+12); assert( p->pgsz>0 ); tmstmpEvent(p, ELOG_CKPT_PAGE, 0, (iOfst/p->pgsz)+1, p->iFrame, 0); }else if( p->pPartner==0 ){ @@ -647,7 +649,7 @@ static int tmstmpWrite( tmstmpPutTS(p, s+2); s[12] = 2; assert( p->pgsz>0 ); - tmstmpEvent(p, ELOG_DB_PAGE, 0, (u32)(iOfst/p->pgsz), 0, s+2); + tmstmpEvent(p, ELOG_DB_PAGE, 0, (u32)(iOfst/p->pgsz)+1, 0, s+2); } return pSub->pMethods->xWrite(pSub,zBuf,iAmt,iOfst); } @@ -879,7 +881,9 @@ static int tmstmpOpen( r1 = 0; pLog = sqlite3_malloc64( sizeof(TmstmpLog) ); if( pLog==0 ){ - return SQLITE_NOMEM; + pSubFile->pMethods->xClose(pSubFile); + rc = SQLITE_NOMEM; + goto tmstmp_open_done; } memset(pLog, 0, sizeof(pLog[0])); p->pLog = pLog; diff --git a/manifest b/manifest index 2d0d4dae16..2c0f15fe61 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Increase\sthe\snumber\sof\sfloating-point\sprecision\stest\scases\sby\s9x,\sand\nincrease\sthe\srequire\sprecision\sto\s16\sdigits. -D 2026-02-17T14:02:27.515 +C Minor\sfixes\sto\stmstmpvfs.c. +D 2026-02-17T14:28:18.685 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -403,7 +403,7 @@ F ext/misc/sqlite3_stdio.h 27a4ecea47e61bc9574ccdf2806f468afe23af2f95028c9b689bf F ext/misc/stmt.c b090086cd6bd6281c21271d38d576eeffe662f0e6b67536352ce32bbaa438321 F ext/misc/stmtrand.c 59cffa5d8e158943ff1ce078956d8e208e8c04e67307e8f249dece2436dcb7fc F ext/misc/templatevtab.c 10f15b165b95423ddef593bc5dcb915ec4eb5e0f1066d585e5435a368b8bc22b -F ext/misc/tmstmpvfs.c 3eb28a9f22f58883f38085daa312467e31ddfd2042c21dcc07173e02a01d68d8 +F ext/misc/tmstmpvfs.c 240caad4441328dc52bd2871f48811db46dff858d5598030e389176837a2f4df F ext/misc/totype.c ba11aac3c0b52c685bd25aa4e0f80c41c624fb1cc5ab763250e09ddc762bc3a8 F ext/misc/uint.c 327afc166058acf566f33a15bf47c869d2d3564612644d9ff81a23efc8b36039 F ext/misc/unionvtab.c 716d385256d5fb4beea31b0efede640807e423e85c9784d21d22f0cce010a785 @@ -2194,8 +2194,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh d924598cf2f55a4ecbc2aeb055c10bd5f48114793e7ba25f9585435da29e7e98 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 12f3a6d0aaff8818c427d79e2b9394328625b3a60ccaa7b628d064084c65cfaf -R bcf6cb540190f93195962d583ed6f2e0 +P 62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397 +R bae7bcc1d98d32b5cc1ad4c718984cec U drh -Z 9f6a9fb600611e6d6cb6106d77d50061 +Z b56da0878ac4e43a938e2a3c2eed45b5 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index df4ea7b5bf..10cc6fb188 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -62c2cf74db5e47f975d1f47818f82f060ddecad4b68c4d4dbc6190cc9a8fc397 +091bd90ed5a6a326fd532e93bd17903e052476da14dc6aee2599a9acf75a3276 -- 2.47.3