Browse Source

Fix captures not begin zeroed when haystack length is 0

James Duran 7 months ago
parent
commit
13640620ce
1 changed files with 6 additions and 6 deletions
  1. 6 6
      core/text/match/strlib.odin

+ 6 - 6
core/text/match/strlib.odin

@@ -698,11 +698,11 @@ gmatch :: proc(
 			first := length > 1 ? 1 : 0
 			cap := captures[first]
 			res = haystack[cap.byte_start:cap.byte_end]
-		} else {
-			captures^ = {}
 		}
 	} 
-
+	if !ok {
+		captures^ = {}
+	}
 	return
 }
 
@@ -813,11 +813,11 @@ gfind :: proc(
 			ok = true
 			cap := captures[0]
 			res = haystack[cap.byte_start:cap.byte_end]
-		} else {
-			captures^ = {}
 		}
 	} 
-
+	if !ok {
+		captures^ = {}
+	}
 	return
 }