diff --git a/src/MAT_v4.jl b/src/MAT_v4.jl index 88a54b0..07fa547 100644 --- a/src/MAT_v4.jl +++ b/src/MAT_v4.jl @@ -131,7 +131,7 @@ function read_matrix(f::IO, swap_bytes::Bool) # surprises, we produce an empty array in both cases. return ("", Matrix{Union{}}(undef, 0, 0)) end - name = String(read_bswap(f, M==mBIG_ENDIAN, Vector{UInt8}(undef, namlen))[1:end-1]) + name = strip(String(read_bswap(f, M==mBIG_ENDIAN, Vector{UInt8}(undef, namlen))), '\0') if T == tNUMERIC || T == tSPARSE real_data = read_bswap(f, M==mBIG_ENDIAN, Vector{pTYPE[P]}(undef, ncols*mrows)) if T == tNUMERIC && imagf == imagfCOMPLEX diff --git a/test/v4/testnamelen_4.2c_SOL2.mat b/test/v4/testnamelen_4.2c_SOL2.mat new file mode 100644 index 0000000..9a32208 Binary files /dev/null and b/test/v4/testnamelen_4.2c_SOL2.mat differ