From: drh Date: Wed, 17 Jul 2019 19:57:55 +0000 (+0000) Subject: Always use the stdlib.h intptr_t type for pointer-integer conversions, when X-Git-Tag: version-3.30.0~214 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4509ffa3621d1e44a3d4ba5fbf90dd9a629a9053;p=thirdparty%2Fsqlite.git Always use the stdlib.h intptr_t type for pointer-integer conversions, when it is available. FossilOrigin-Name: c0d932449db3deed42a99bd948aab61e56b2d8441d7de5243688695ff04e8177 --- diff --git a/manifest b/manifest index f1a0625edc..34dc47d840 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\san\sincorrect\sassert()\sin\sbalance_nonroot(). -D 2019-07-17T16:18:01.065 +C Always\suse\sthe\sstdlib.h\sintptr_t\stype\sfor\spointer-integer\sconversions,\swhen\nit\sis\savailable. +D 2019-07-17T19:57:55.606 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -527,7 +527,7 @@ F src/shell.c.in a571d51dd7605b34796e9942dce0e895156d1860383faf6aaca3c88b08fe2a4 F src/sqlite.h.in 83ebc8ab1a2e82d92214006ea2c15bf8a0604f3fac2c31dd9ce9021f568c71f2 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 9ecc93b8493bd20c0c07d52e2ac0ed8bab9b549c7f7955b59869597b650dd8b5 -F src/sqliteInt.h c13c4abe0d245b6b2a4b4a1f9f2b6c4f7347b30b22f61b3fdfd4652b2b328906 +F src/sqliteInt.h 30dc455dd9591fd9cb31a64ff8a35decfb20fd96a936812459b1cd4eef1748f7 F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b F src/status.c 46e7aec11f79dad50965a5ca5fa9de009f7d6bde08be2156f1538a0a296d4d0e F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34 @@ -1837,7 +1837,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 9ec92939cb2d2c96ae15bc496feed233ce31424c25a6bf86ace7e0ef3eedec5b -R 3702a3106595b5f6d6a04730cae30997 +P 59c9e73f86b89ee17b0bce47bcb93f5b5ace5b7985678287195002afb9d40cd8 +R b55a72bb4aeab4322edd31e7f5a01d77 U drh -Z a30b17f39cdaae09fa64dd6ac4e1155d +Z 6a8453233a61053a41bb22e402d7e5e6 diff --git a/manifest.uuid b/manifest.uuid index d3e618bf2d..6c38018fcc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -59c9e73f86b89ee17b0bce47bcb93f5b5ace5b7985678287195002afb9d40cd8 \ No newline at end of file +c0d932449db3deed42a99bd948aab61e56b2d8441d7de5243688695ff04e8177 \ No newline at end of file diff --git a/src/sqliteInt.h b/src/sqliteInt.h index c123dfffbf..837e056cf1 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -212,15 +212,15 @@ ** So we have to define the macros in different ways depending on the ** compiler. */ -#if defined(__PTRDIFF_TYPE__) /* This case should work for GCC */ +#if defined(HAVE_STDINT_H) /* Use this case if we have ANSI headers */ +# define SQLITE_INT_TO_PTR(X) ((void*)(intptr_t)(X)) +# define SQLITE_PTR_TO_INT(X) ((int)(intptr_t)(X)) +#elif defined(__PTRDIFF_TYPE__) /* This case should work for GCC */ # define SQLITE_INT_TO_PTR(X) ((void*)(__PTRDIFF_TYPE__)(X)) # define SQLITE_PTR_TO_INT(X) ((int)(__PTRDIFF_TYPE__)(X)) #elif !defined(__GNUC__) /* Works for compilers other than LLVM */ # define SQLITE_INT_TO_PTR(X) ((void*)&((char*)0)[X]) # define SQLITE_PTR_TO_INT(X) ((int)(((char*)X)-(char*)0)) -#elif defined(HAVE_STDINT_H) /* Use this case if we have ANSI headers */ -# define SQLITE_INT_TO_PTR(X) ((void*)(intptr_t)(X)) -# define SQLITE_PTR_TO_INT(X) ((int)(intptr_t)(X)) #else /* Generates a warning - but it always works */ # define SQLITE_INT_TO_PTR(X) ((void*)(X)) # define SQLITE_PTR_TO_INT(X) ((int)(X))