aboutsummaryrefslogtreecommitdiff
path: root/src/func.c
diff options
context:
space:
mode:
authordrh <>2025-06-11 00:01:42 +0000
committerdrh <>2025-06-11 00:01:42 +0000
commit23e59b34e9d6c574280b7a1e29499c7d0805b01a (patch)
tree5d2c435b59eea21ff924f2f75f3e527488e6ccd1 /src/func.c
parenta09a4fbac958ab3c130c73500cc3cf68f9151d50 (diff)
downloadsqlite-23e59b34e9d6c574280b7a1e29499c7d0805b01a.tar.gz
sqlite-23e59b34e9d6c574280b7a1e29499c7d0805b01a.zip
Fix the concat_ws() SQL function so that it includes empty strings in the
concatenation. [forum:/forumpost/52503ac21d|Forum post 52503ac21d]. FossilOrigin-Name: 80a78987da484d435a8242c05c48d546d430920df713b24a9d9d9fff7ba1113d
Diffstat (limited to 'src/func.c')
-rw-r--r--src/func.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/func.c b/src/func.c
index 9e2839336..b0a1359b7 100644
--- a/src/func.c
+++ b/src/func.c
@@ -1667,7 +1667,7 @@ static void concatFuncCore(
int nSep,
const char *zSep
){
- i64 j, k, n = 0;
+ i64 j, n = 0;
int i;
char *z;
for(i=0; i<argc; i++){
@@ -1681,8 +1681,8 @@ static void concatFuncCore(
}
j = 0;
for(i=0; i<argc; i++){
- k = sqlite3_value_bytes(argv[i]);
- if( k>0 ){
+ if( sqlite3_value_type(argv[i])!=SQLITE_NULL ){
+ int k = sqlite3_value_bytes(argv[i]);
const char *v = (const char*)sqlite3_value_text(argv[i]);
if( v!=0 ){
if( j>0 && nSep>0 ){