diff --git a/C-Sources/ModelicaMatIO.c b/C-Sources/ModelicaMatIO.c index 60bfbb6..804c0e4 100644 --- a/C-Sources/ModelicaMatIO.c +++ b/C-Sources/ModelicaMatIO.c @@ -9757,28 +9757,29 @@ int Mat_VarDelete(mat_t *mat, const char *name) { int err = 1; - enum mat_ft mat_file_ver = MAT_FT_DEFAULT; char *tmp_name, *new_name; - mat_t *tmp; char temp[7] = "XXXXXX"; if ( NULL == mat || NULL == name ) return err; - switch ( mat->version ) { - case 0x0200: - mat_file_ver = MAT_FT_MAT73; - break; - case 0x0100: - mat_file_ver = MAT_FT_MAT5; - break; - case 0x0010: - mat_file_ver = MAT_FT_MAT4; - break; - } - tmp_name = mktemp(temp); if (tmp_name != NULL) { + enum mat_ft mat_file_ver = MAT_FT_DEFAULT; + mat_t *tmp; + + switch ( mat->version ) { + case 0x0200: + mat_file_ver = MAT_FT_MAT73; + break; + case 0x0100: + mat_file_ver = MAT_FT_MAT5; + break; + case 0x0010: + mat_file_ver = MAT_FT_MAT4; + break; + } + tmp = Mat_CreateVer(tmp_name,mat->header,mat_file_ver); if ( tmp != NULL ) { matvar_t *matvar;