Skip to content

Commit 270cbf6

Browse files
committed
fix loadmsgpack ND array issue
1 parent 04199a0 commit 270cbf6

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

loadmsgpack.m

+17-16
Original file line numberDiff line numberDiff line change
@@ -223,29 +223,30 @@
223223
for n=1:len
224224
[out{n}, idx] = parse(bytes, idx, varargin{:});
225225
end
226-
if(len==1 && iscell(out{1}))
226+
if(len==1)
227227
out=out{1};
228228
end
229229
if(varargin{1}.simplifycell)
230-
if(~isempty(out) && isnumeric(out{1}))
230+
if(iscell(out) && ~isempty(out) && isnumeric(out{1}))
231231
try
232-
oldobj=out;
233-
if(iscell(out) && length(out)>1 && ndims(out{1})>=2)
234-
catdim=size(out{1});
235-
catdim=ndims(out{1})-(catdim(end)==1)+1;
236-
out=cat(catdim,out{:});
237-
out=permute(out,ndims(out):-1:1);
238-
else
239-
out=cell2mat(out')';
240-
end
241-
if(iscell(oldobj) && isstruct(out) && numel(out)>1 && varargin{1}.simplifycellarray==0)
242-
out=oldobj;
243-
elseif(~iscell(object) && size(out,2)>1 && ndims(out)==2)
244-
out=out';
245-
end
232+
oldobj=out;
233+
if(iscell(out) && length(out)>1 && ndims(out{1})>=2)
234+
catdim=size(out{1});
235+
catdim=ndims(out{1})-(catdim(end)==1)+1;
236+
out=cat(catdim,out{:});
237+
out=permute(out,ndims(out):-1:1);
238+
else
239+
out=cell2mat(out')';
240+
end
241+
if(iscell(oldobj) && isstruct(out) && numel(out)>1 && varargin{1}.simplifycellarray==0)
242+
out=oldobj;
243+
end
246244
catch
247245
end
248246
end
247+
if(~iscell(out) && size(out,2)>1 && ndims(out)==2)
248+
out=out';
249+
end
249250
end
250251
end
251252

0 commit comments

Comments
 (0)