From d27135ad82788344d832ffae8aad3f0aabc8939f Mon Sep 17 00:00:00 2001 From: drh Date: Thu, 2 Apr 2009 13:36:37 +0000 Subject: [PATCH] Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435) FossilOrigin-Name: eb65e64e7ed5edbe506365971d4d81ea037098d3 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/func.c | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index beaec0cb08..3c52616f89 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C In\sthe\sbuilt-in\sSQL\sfunction\simplementations,\simprove\ssome\scomments,\sfix\nan\soff-by-one\serror\sin\sdetecting\sover-size\sstrings,\sand\sadd\stestcase()\nmacros\sto\sverify\sthat\sboundary\svalues\shave\sbeen\stested.\s(CVS\s6434) -D 2009-04-02T10:16:18 +C Use\sALWAYS\sand\sNEVER\smacros\son\sunchangeable\sconditions\swithin\sfunc.c.\s(CVS\s6435) +D 2009-04-02T13:36:37 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -113,7 +113,7 @@ F src/date.c e6263ed8950642f593cb1a2cc8a73dd726cc7888 F src/delete.c eb1066b2f35489fee46ad765d2b66386fc7d8adf F src/expr.c 14853cd56107292de6af664a24c6255111a4257d F src/fault.c dc88c821842157460750d2d61a8a8b4197d047ff -F src/func.c 13b7a7ecf4f3426a368e751d0c3fbdcf567baf69 +F src/func.c 25edae19b56f7355ce7f25490ce61877b499633f F src/global.c 448419c44ce0701104c2121b0e06919b44514c0c F src/hash.c 5824e6ff7ba78cd34c8d6cd724367713583e5b55 F src/hash.h 28f38ebb1006a5beedcb013bcdfe31befe7437ae @@ -714,7 +714,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P a04f9e7959325da18f66a1aa4ead1c50993807cb -R c982e3384ed11aa8534165a34216b1da +P 868a487f5fd7c795e04a08de36a85ba1e06bc8c6 +R 80e3c0460455c327fb300729860153c0 U drh -Z 1b80b4935022b19a2dfaa3a1e5ddbc5f +Z 3dc25af9134f67a49baddf7ad8bedd6e diff --git a/manifest.uuid b/manifest.uuid index b376b040b8..88ef3ec342 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -868a487f5fd7c795e04a08de36a85ba1e06bc8c6 \ No newline at end of file +eb65e64e7ed5edbe506365971d4d81ea037098d3 \ No newline at end of file diff --git a/src/func.c b/src/func.c index da6b872d46..537d35be18 100644 --- a/src/func.c +++ b/src/func.c @@ -16,7 +16,7 @@ ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: func.c,v 1.228 2009/04/02 10:16:18 drh Exp $ +** $Id: func.c,v 1.229 2009/04/02 13:36:37 drh Exp $ */ #include "sqliteInt.h" #include @@ -1217,7 +1217,7 @@ static void minMaxFinalize(sqlite3_context *context){ sqlite3_value *pRes; pRes = (sqlite3_value *)sqlite3_aggregate_context(context, 0); if( pRes ){ - if( pRes->flags ){ + if( ALWAYS(pRes->flags) ){ sqlite3_result_value(context, pRes); } sqlite3VdbeMemRelease(pRes); @@ -1302,7 +1302,7 @@ static void setLikeOptFlag(sqlite3 *db, const char *zName, u8 flagVal){ FuncDef *pDef; pDef = sqlite3FindFunction(db, zName, sqlite3Strlen30(zName), 2, SQLITE_UTF8, 0); - if( pDef ){ + if( ALWAYS(pDef) ){ pDef->flags = flagVal; } } @@ -1346,7 +1346,7 @@ int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); pDef = sqlite3FindFunction(db, (char*)pExpr->token.z, pExpr->token.n, 2, SQLITE_UTF8, 0); - if( pDef==0 || (pDef->flags & SQLITE_FUNC_LIKE)==0 ){ + if( NEVER(pDef==0) || (pDef->flags & SQLITE_FUNC_LIKE)==0 ){ return 0; }