]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Factor out a superfluous struct member.
authorstephan <stephan@noemail.net>
Mon, 28 Aug 2023 23:18:19 +0000 (23:18 +0000)
committerstephan <stephan@noemail.net>
Mon, 28 Aug 2023 23:18:19 +0000 (23:18 +0000)
FossilOrigin-Name: 76d3911c370b3dc02d119045003f87ad20a6efd9f7a44d4feb59b7c801ac8981

ext/jni/src/c/sqlite3-jni.c
manifest
manifest.uuid

index 0625c96d18eb07ba861d05615d44b95ceba900a1..b524d4e608d3547c56d84cc6e63645e66300478d 100644 (file)
@@ -447,8 +447,8 @@ struct S3JniDb {
 #ifdef SQLITE_ENABLE_FTS5
   jobject jFtsApi  /* global ref to s3jni_fts5_api_from_db() */;
 #endif
-  S3JniDb * pNext /* Next entry in the available/free list */;
-  S3JniDb * pPrev /* Previous entry in the available/free list */;
+  S3JniDb * pNext /* Next entry in SJG.perDb.aFree or SJG.perDb.aHead */;
+  S3JniDb * pPrev /* Previous entry in SJG.perDb.aFree or SJG.perDb.aHead */;
 };
 
 /*
@@ -478,8 +478,8 @@ struct S3JniEnv {
   **   a NULL db, in which case free pdbOpening.
   */
   S3JniDb * pdbOpening;
-  S3JniEnv * pPrev /* Previous entry in the linked list */;
-  S3JniEnv * pNext /* Next entry in the linked list */;
+  S3JniEnv * pNext /* Next entry in SJG.envCache.aHead or
+                      SJG.envCache.aFree */;
 };
 
 /*
@@ -505,15 +505,15 @@ enum UDFType {
 */
 typedef struct S3JniUdf S3JniUdf;
 struct S3JniUdf {
-  jobject jObj          /* SQLFunction instance */;
-  char * zFuncName      /* Only for error reporting and debug logging */;
-  enum UDFType type;
+  jobject jObj           /* SQLFunction instance */;
+  char * zFuncName       /* Only for error reporting and debug logging */;
+  enum UDFType type      /* UDF type */;
   /** Method IDs for the various UDF methods. */
-  jmethodID jmidxFunc    /* xFunc method */;
-  jmethodID jmidxStep    /* xStep method */;
-  jmethodID jmidxFinal   /* xFinal method */;
-  jmethodID jmidxValue   /* xValue method */;
-  jmethodID jmidxInverse /* xInverse method */;
+  jmethodID jmidxFunc    /* xFunc method (scalar) */;
+  jmethodID jmidxStep    /* xStep method (aggregate/window) */;
+  jmethodID jmidxFinal   /* xFinal method (aggregate/window) */;
+  jmethodID jmidxValue   /* xValue method (window) */;
+  jmethodID jmidxInverse /* xInverse method (window) */;
   S3JniUdf * pNext       /* Next entry in SJG.udf.aFree. */;
 };
 
@@ -819,16 +819,13 @@ static S3JniEnv * S3JniEnv__get(JNIEnv * const env){
   s3jni_incr( &SJG.metrics.nEnvMiss );
   row = SJG.envCache.aFree;
   if( row ){
-    assert(!row->pPrev);
     SJG.envCache.aFree = row->pNext;
-    if( row->pNext ) row->pNext->pPrev = 0;
   }else{
     row = s3jni_malloc_or_die(env, sizeof(*row));
     s3jni_incr( &SJG.metrics.nEnvAlloc );
   }
   memset(row, 0, sizeof(*row));
   row->pNext = SJG.envCache.aHead;
-  if( row->pNext ) row->pNext->pPrev = row;
   SJG.envCache.aHead = row;
   row->env = env;
 
@@ -1264,9 +1261,10 @@ static void S3JniDb__set_aside(JNIEnv * const env, S3JniDb * const s){
 */
 static int S3JniEnv_uncache(JNIEnv * const env){
   struct S3JniEnv * row;
+  struct S3JniEnv * pPrev = 0;
   S3JniMutex_Env_assertLocked;
   row = SJG.envCache.aHead;
-  for( ; row; row = row->pNext ){
+  for( ; row; pPrev = row, row = row->pNext ){
     if( row->env == env ){
       break;
     }
@@ -1274,15 +1272,13 @@ static int S3JniEnv_uncache(JNIEnv * const env){
   if( !row ){
       return 0;
   }
-  if( row->pNext ) row->pNext->pPrev = row->pPrev;
-  if( row->pPrev ) row->pPrev->pNext = row->pNext;
-  if( SJG.envCache.aHead == row ){
-    assert( !row->pPrev );
+  if( pPrev) pPrev->pNext = row->pNext;
+  else{
+    assert( SJG.envCache.aHead == row );
     SJG.envCache.aHead = row->pNext;
   }
   memset(row, 0, sizeof(S3JniEnv));
   row->pNext = SJG.envCache.aFree;
-  if( row->pNext ) row->pNext->pPrev = row;
   SJG.envCache.aFree = row;
   return 1;
 }
index 19184e9c0d76dd2ce256246410fb554ea1cb2166..9b137ef1a09ca8020a320bbf449c3e22372aa790 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Further\sminor\sinternal\sJNI\ssimplifications.
-D 2023-08-28T22:52:04.369
+C Factor\sout\sa\ssuperfluous\sstruct\smember.
+D 2023-08-28T23:18:19.446
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -237,7 +237,7 @@ F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a3
 F ext/jni/GNUmakefile 374873bf6d2cd6ceafb458e28b59140dbb074f01f7adddf7e15a3ee3daf44551
 F ext/jni/README.md 1332b1fa27918bd5d9ca2d0d4f3ac3a6ab86b9e3699dc5bfe32904a027f3d2a9
 F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa
-F ext/jni/src/c/sqlite3-jni.c 6046370cddd31778e9002a3848e380d187a8a1b75666afbdcfb5906ef741b6f9
+F ext/jni/src/c/sqlite3-jni.c 4b78ca613beb04515d27f3b539061438bee5af66ebf7ec1763b78f5b7a886e83
 F ext/jni/src/c/sqlite3-jni.h 12e1a5ef5ee1795dc22577c285b4518dfd8aa4af45757f6cb81a555d967bf201
 F ext/jni/src/org/sqlite/jni/AbstractCollationCallback.java 95e88ba04f4aac51ffec65693e878e234088b2f21b387f4e4285c8b72b33e436
 F ext/jni/src/org/sqlite/jni/AggregateFunction.java 7312486bc65fecdb91753c0a4515799194e031f45edbe16a6373cea18f404dc4
@@ -2107,8 +2107,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 f02dad66b965b9e3c504001e9603af8f74977f151bede9db369f88e86a4aeb00
-R 939c02dc8fb9e092bdac6891a1151351
+P 1808d12ee0d1f1e5ee49d48c699ca10c4f822989ac9b4ac08f2b861513ee5997
+R 5b95fe0a7229660967a4e5fdae0507cd
 U stephan
-Z c3a2989b14ceb26f9ee63232f5504607
+Z f730905721414dc145d7e6f2fcf9a0e6
 # Remove this line to create a well-formed Fossil manifest.
index c4cfd033e28d74ac600a8835d21de7e46b9921f3..6ef4ef08b273aba572dc8f50a1648b3cd264d391 100644 (file)
@@ -1 +1 @@
-1808d12ee0d1f1e5ee49d48c699ca10c4f822989ac9b4ac08f2b861513ee5997
\ No newline at end of file
+76d3911c370b3dc02d119045003f87ad20a6efd9f7a44d4feb59b7c801ac8981
\ No newline at end of file