From 6528851ca690ef2278304bf501707b12fb6c0d60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Adjemian=20=28Guts=29?= <stepan@adjemian.eu>
Date: Fri, 12 May 2023 17:17:32 +0200
Subject: [PATCH] Fix bug (insertion of empty objects in cell arrays).

Closes #53.
---
 ...t_object_in_a_one_dimensional_cell_array.m | 26 ++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/utilities/insert/insert_object_in_a_one_dimensional_cell_array.m b/src/utilities/insert/insert_object_in_a_one_dimensional_cell_array.m
index f82dcf4..4f08aae 100644
--- a/src/utilities/insert/insert_object_in_a_one_dimensional_cell_array.m
+++ b/src/utilities/insert/insert_object_in_a_one_dimensional_cell_array.m
@@ -49,11 +49,31 @@ one_dimensional_cell_array = one_dimensional_cell_array(:);
 
 switch i
   case n+1
-    one_dimensional_cell_array = [one_dimensional_cell_array; object];
+    if isempty(object)
+        tmp = one_dimensional_cell_array;
+        one_dimensional_cell_array = cell(length(one_dimensional_cell_array)+1,1);
+        one_dimensional_cell_array(1:length(one_dimensional_cell_array)) = tmp;
+    else
+        one_dimensional_cell_array = [one_dimensional_cell_array; object];
+    end
   case 1
-    one_dimensional_cell_array = [object; one_dimensional_cell_array];
+    if isempty(object)
+        tmp = one_dimensional_cell_array;
+        one_dimensional_cell_array = cell(length(one_dimensional_cell_array)+1,1);
+        one_dimensional_cell_array(2:end) = tmp;
+    else
+        one_dimensional_cell_array = [object; one_dimensional_cell_array];
+    end
   otherwise
-    one_dimensional_cell_array = [one_dimensional_cell_array(1:i-1); object; one_dimensional_cell_array(i:n)];
+    if isempty(object)
+        tmp1 = one_dimensional_cell_array(1:i-1);
+        tmp2 = one_dimensional_cell_array(i:n);
+        one_dimensional_cell_array = cell(length(one_dimensional_cell_array)+1,1);
+        one_dimensional_cell_array(1:length(tmp1)) = tmp1;
+        one_dimensional_cell_array(length(tmp1)+2:end) = tmp2;
+    else
+        one_dimensional_cell_array = [one_dimensional_cell_array(1:i-1); object; one_dimensional_cell_array(i:n)];
+    end
 end
 
 if nc>nr
-- 
GitLab