diff src/vim9execute.c @ 24450:3e1886f1e875 v8.2.2765

patch 8.2.2765: Vim9: not all blob operations work Commit: https://github.com/vim/vim/commit/0e3ff1919603ee4c4a347fdf761dbdbdeb068015 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Apr 14 20:35:23 2021 +0200 patch 8.2.2765: Vim9: not all blob operations work Problem: Vim9: not all blob operations work. Solution: Run more tests also with Vim9 script and :def functions. Fix what doesn't work.
author Bram Moolenaar <Bram@vim.org>
date Wed, 14 Apr 2021 20:45:04 +0200
parents 602e528a8e43
children 53216e87f21c
line wrap: on
line diff
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2278,8 +2278,18 @@ call_def_function(
 			    if (error)
 				status = FAIL;
 			    else
-				status = blob_set_range(tv_dest->vval.v_blob,
-								   n1, n2, tv);
+			    {
+				long	bloblen = blob_len(tv_dest->vval.v_blob);
+
+				if (check_blob_index(bloblen,
+						       n1, TRUE, FALSE) == FAIL
+					|| check_blob_range(bloblen,
+							n1, n2, FALSE) == FAIL)
+				    status = FAIL;
+				else
+				    status = blob_set_range(
+					     tv_dest->vval.v_blob, n1, n2, tv);
+			    }
 			}
 		    }