From c3485b21af018005abc7be0a7fafd2545929411d Mon Sep 17 00:00:00 2001
From: Michael Innerberger <michael.innerberger@asc.tuwien.ac.at>
Date: Wed, 9 Aug 2023 12:28:10 -0400
Subject: [PATCH] Clean up some warnings from code analyzer

---
 lib/storage/@LevelData/LevelData.m  | 20 ++++++++++----------
 lib/storage/@LevelData/saveToFile.m | 12 +++++-------
 2 files changed, 15 insertions(+), 17 deletions(-)

diff --git a/lib/storage/@LevelData/LevelData.m b/lib/storage/@LevelData/LevelData.m
index dcfae08..8c0baa8 100644
--- a/lib/storage/@LevelData/LevelData.m
+++ b/lib/storage/@LevelData/LevelData.m
@@ -277,29 +277,29 @@ classdef LevelData < handle
 
         function spec = getHeaderSpecifier(obj, separator)
             % Creates formatting string for the header of the output to command line
-            spec = '';
+            spec = cell(1, obj.nScalarVariable);
             for j = 1:obj.nScalarVariable
-                if j == obj.nScalarVariable
-                    separator = '\n';
-                end
                 t = obj.type.(obj.scalarVariable{j});
-                spec = [spec, '%', obj.getWidth(t), 's', separator];
+                spec{j} = assembleSpecifier(obj.getWidth(t), 's');
             end
+            spec = strjoin(spec, separator) + "\n";
         end
 
         function spec = getFormatSpecifier(obj, separator)
             % Creates formatting string for printing to command line
-            spec = '';
+            spec = cell(1, obj.nScalarVariable);
             for j = 1:obj.nScalarVariable
-                if j == obj.nScalarVariable
-                    separator = '\n';
-                end
                 t = obj.type.(obj.scalarVariable{j});
-                spec = [spec, '%', obj.getWidth(t), t.formatSpec, separator];
+                spec{j} = assembleSpecifier(obj.getWidth(t), t.formatSpec);
             end
+            spec = strjoin(spec, separator) + "\n";
         end
 
         ax = plotLevel(obj, plotFunction, xVariable, variableName)
         plotLevelTriangulation(obj, ax, jLevel)
     end
 end
+
+function spec = assembleSpecifier(width, format)
+    spec = ['%', num2str(width), format];
+end
\ No newline at end of file
diff --git a/lib/storage/@LevelData/saveToFile.m b/lib/storage/@LevelData/saveToFile.m
index b46a2b8..1912514 100644
--- a/lib/storage/@LevelData/saveToFile.m
+++ b/lib/storage/@LevelData/saveToFile.m
@@ -21,14 +21,12 @@ function saveToFile(obj, folder, file)
 % along with this program.  If not, see <http://www.gnu.org/licenses/>.
 %
 
-
-    % Proceed optional input
-    if nargin < 2
-        folder = obj.foldername;
-    end
-    if nargin < 3
-        file = obj.filename;
+    arguments
+        obj
+        folder {mustBeTextScalar} = obj.foldername
+        file {mustBeTextScalar} = obj.filename
     end
+
     % Create problem- and method-specific folder
     ensureFolderExists(folder);
     % Save this object to file
-- 
GitLab