diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-09-02 23:24:16 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-09-02 23:24:16 -0400 |
| commit | 9d2e9c02fe7eab797bc6131a5ba1129771a9f3a2 (patch) | |
| tree | 3e6e1c75f68a45610954b5bccff7f606412b4706 | |
| parent | 6e4be93848ebea9f3fb921bed453f8ab74327c15 (diff) | |
Fix splitting an empty string
| -rw-r--r-- | builtins/text.c | 3 | ||||
| -rw-r--r-- | test/text.tm | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/builtins/text.c b/builtins/text.c index df90b382..4ec3d835 100644 --- a/builtins/text.c +++ b/builtins/text.c @@ -1428,6 +1428,9 @@ public Text_t Text$replace(Text_t text, Text_t pattern, Text_t replacement) public array_t Text$split(Text_t text, Text_t pattern) { + if (text.length == 0) // special case + return (array_t){.length=0}; + if (pattern.length == 0) // special case return Text$clusters(text); diff --git a/test/text.tm b/test/text.tm index 4dd3531c..cf084f8a 100644 --- a/test/text.tm +++ b/test/text.tm @@ -152,3 +152,6 @@ func main(): >> "+":join([:Text]) = "" + + >> "":split() + = [] |
