aboutsummaryrefslogtreecommitdiff
path: root/src/callback.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2020-01-09 20:44:37 +0000
committerdrh <drh@noemail.net>2020-01-09 20:44:37 +0000
commitbebce86cde221fdaaf084d296ab811af1e5a3cf2 (patch)
tree14fce64f57bc80fffa399ae283d980e06ea91a27 /src/callback.c
parent32d184e049b5a30d39b01be1b310c563ae716d23 (diff)
parentb84fda37efdd612288c1bc4933fa3ae6bcc2ffbc (diff)
downloadsqlite-bebce86cde221fdaaf084d296ab811af1e5a3cf2.tar.gz
sqlite-bebce86cde221fdaaf084d296ab811af1e5a3cf2.zip
Merge in the untrusted-schema enhancements.
See [/doc/87aea3ab1cdda453/doc/trusted-schema.md|doc/trusted-schema.md] for details. FossilOrigin-Name: 5720924cb07766cd54fb042da58f4b4acf12b60029fba86a23a606ad0d0f7c68
Diffstat (limited to 'src/callback.c')
-rw-r--r--src/callback.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/callback.c b/src/callback.c
index a360e46ee..3d991901d 100644
--- a/src/callback.c
+++ b/src/callback.c
@@ -288,12 +288,13 @@ static int matchQuality(
u8 enc /* Desired text encoding */
){
int match;
-
- /* nArg of -2 is a special case */
- if( nArg==(-2) ) return (p->xSFunc==0) ? 0 : FUNC_PERFECT_MATCH;
+ assert( p->nArg>=-1 );
/* Wrong number of arguments means "no match" */
- if( p->nArg!=nArg && p->nArg>=0 ) return 0;
+ if( p->nArg!=nArg ){
+ if( nArg==(-2) ) return (p->xSFunc==0) ? 0 : FUNC_PERFECT_MATCH;
+ if( p->nArg>=0 ) return 0;
+ }
/* Give a better score to a function with a specific number of arguments
** than to function that accepts any number of arguments. */