]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix minor problems with the "showwal" utility program. Add a missing header
authordrh <>
Wed, 25 Oct 2023 18:35:48 +0000 (18:35 +0000)
committerdrh <>
Wed, 25 Oct 2023 18:35:48 +0000 (18:35 +0000)
to the zipfile.c extension.

FossilOrigin-Name: 7b3f866e619c2b781b613493727cd111335ceec690d984408725c756feff26e6

ext/misc/zipfile.c
manifest
manifest.uuid
tool/showwal.c

index 416a49443bc4391e047b12ec86e9f887378f27ee..db327809f8c424a6821f592995d6b5e47529a403 100644 (file)
@@ -29,6 +29,7 @@ SQLITE_EXTENSION_INIT1
 #include <stdio.h>
 #include <string.h>
 #include <assert.h>
+#include <stdint.h>
 
 #include <zlib.h>
 
index 11a7a1493b26019569ecfdf280dade21d2f6b237..9f37b1635cc4e6c57645a3dcb4afaeea9ebc187f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Test\smodule\saltermalloc3.test\srequires\sDQS_DDL\sto\sbe\sturned\son.
-D 2023-10-25T17:26:11.573
+C Fix\sminor\sproblems\swith\sthe\s"showwal"\sutility\sprogram.\s\sAdd\sa\smissing\sheader\nto\sthe\szipfile.c\sextension.
+D 2023-10-25T18:35:48.042
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -404,7 +404,7 @@ F ext/misc/vfsstat.c a85df08654743922a19410d7b1e3111de41bb7cd07d20dd16eda4e2b808
 F ext/misc/vtablog.c f2c9d41afe00b51b2c8307b79f508eb0c2dcd57bae074807944e73376fcf15b7
 F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
 F ext/misc/wholenumber.c 0fa0c082676b7868bf2fa918e911133f2b349bcdceabd1198bba5f65b4fc0668
-F ext/misc/zipfile.c 59af123b4595801d495f55167523b68e840b8e5bfcbbb73f84cbc6a65a994ac2
+F ext/misc/zipfile.c 64cb3d98b6316586e6056d182051aa9d28fdedfbf4b908e6b7a7d70209b1db11
 F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
 F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
 F ext/rbu/rbu1.test 25870dd7db7eb5597e2b4d6e29e7a7e095abf332660f67d89959552ce8f8f255
@@ -2088,7 +2088,7 @@ F tool/showjournal.c 5bad7ae8784a43d2b270d953060423b8bd480818
 F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
 F tool/showshm.c a0ab6ec32dd1f11218ca2a4018f8fb875b59414801ab8ceed8b2e69b7b45a809
 F tool/showstat4.c 0682ebea7abf4d3657f53c4a243f2e7eab48eab344ed36a94bb75dcd19a5c2a1
-F tool/showwal.c 65ecabae3a2dcff4116301d5a8dbb8c4964814da1b2aff6d85c806a88b71fa4e
+F tool/showwal.c 11eca547980a066b081f512636151233350ac679f29ecf4ebfce7f4530230b3d
 F tool/soak1.tcl 8d407956e1a45b485a8e072470a3e629a27037fe
 F tool/spaceanal.tcl 70c87c04cfd2e77b3e6f21c33ca768296aa8f67d4ab4874786ac8fbb28433477
 F tool/speed-check.sh 72dc85b2c0484af971ee3e7d10775f72b4e771e27e162c2099b3bf25517c25fb
@@ -2138,8 +2138,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P c29ebcb0be8e969c359c077bd4ce752a9c952d2659062868f12efdd2cc77186d
-R 1801e0da56e4876ff07eaa2fbc6ddd00
+P c4d02f4b0761a2836aa34f204e725f49478a19b02160e694e01042e6e7766167
+R 0b8f4aebc898107714a7e5d3cf2077d1
 U drh
-Z 79a4773e545153772af92c625c1e9ce1
+Z 420ad20bfbeee1b4c84bf5501f995f57
 # Remove this line to create a well-formed Fossil manifest.
index ffa1fbbd6e47436ddd1dcc7c9c833a3f8b3e6b3e..bb1906f2024cdd7568a14085a6d3b0665fce2323 100644 (file)
@@ -1 +1 @@
-c4d02f4b0761a2836aa34f204e725f49478a19b02160e694e01042e6e7766167
\ No newline at end of file
+7b3f866e619c2b781b613493727cd111335ceec690d984408725c756feff26e6
\ No newline at end of file
index a8e9b53b32b86c4b0017defa4e3875204e45c34c..7e6c0e17cd1916857c07e5f1955abd05449807c4 100644 (file)
@@ -543,16 +543,27 @@ int main(int argc, char **argv){
   }
   zPgSz[0] = 0;
   zPgSz[1] = 0;
-  lseek(fd, 8, SEEK_SET);
-  read(fd, zPgSz, 4);
-  pagesize = zPgSz[1]*65536 + zPgSz[2]*256 + zPgSz[3];
-  if( pagesize==0 ) pagesize = 1024;
-  printf("Pagesize: %d\n", pagesize);
   fstat(fd, &sbuf);
   if( sbuf.st_size<32 ){
-    printf("file too small to be a WAL\n");
+    printf("%s: file too small to be a WAL - only %d bytes\n",
+           argv[1], (int)sbuf.st_size);
     return 0;
   }
+  if( lseek(fd, 8, SEEK_SET)!=8 ){
+    printf("\"%s\" seems to not be a valid WAL file\n", argv[1]);
+    return 1;
+  }
+  if( read(fd, zPgSz, 4)!=4 ){
+    printf("\"%s\": cannot read the page size\n", argv[1]);
+    return 1;
+  }
+  pagesize = zPgSz[1]*65536 + zPgSz[2]*256 + zPgSz[3];
+  if( pagesize==0 ) pagesize = 1024;
+  printf("Pagesize: %d\n", pagesize);
+  if( (pagesize & (pagesize-1))!=0 || pagesize<512 || pagesize>65536 ){
+    printf("\"%s\": invalid page size.\n", argv[1]);
+    return 1;
+  }
   mxFrame = (sbuf.st_size - 32)/(pagesize + 24);
   printf("Available pages: 1..%d\n", mxFrame);
   if( argc==2 ){