diff --git a/bstest.c b/bstest.c index ca4a485f8d8477316f90e04acfccdb1d07c1a0b9_YnN0ZXN0LmM=..9060ef180820b1cc9fb91129c2bc09387ebf8825_YnN0ZXN0LmM= 100644 --- a/bstest.c +++ b/bstest.c @@ -1664,6 +1664,18 @@ } if (ret) break; } + + l = bsplit (&emptyBstring, 'x'); + bdestroy (l->entry[0]); + l->qty--; + b = bjoin (l, &longBstring); + bstrListDestroy (l); + if (b->slen) { + printf ("\t\tfailure(%d) ", __LINE__); + ret++; + } + bdestroy (b); + } printf ("\t# failures: %d\n", ret); diff --git a/bstrlib.c b/bstrlib.c index ca4a485f8d8477316f90e04acfccdb1d07c1a0b9_YnN0cmxpYi5j..9060ef180820b1cc9fb91129c2bc09387ebf8825_YnN0cmxpYi5j 100644 --- a/bstrlib.c +++ b/bstrlib.c @@ -2276,6 +2276,7 @@ if (bl == NULL || bl->qty < 0) return NULL; if (sep != NULL && (sep->slen < 0 || sep->data == NULL)) return NULL; + if (bl->qty < 1) return bfromStatic (""); for (i = 0, c = 1; i < bl->qty; i++) { v = bl->entry[i]->slen;