@@ -1730,7 +1730,7 @@ Mat_VarGetSize(matvar_t *matvar)
17301730void
17311731Mat_VarPrint ( matvar_t * matvar , int printdata )
17321732{
1733- size_t nmemb ;
1733+ size_t nmemb = 0 ;
17341734 int i , j ;
17351735 const char * class_type_desc [18 ] = {"Undefined" ,"Cell Array" ,"Structure" ,
17361736 "Object" ,"Character Array" ,"Sparse Array" ,"Double Precision Array" ,
@@ -1742,18 +1742,20 @@ Mat_VarPrint( matvar_t *matvar, int printdata )
17421742
17431743 if ( matvar == NULL )
17441744 return ;
1745- if ( matvar -> name )
1745+ if ( NULL != matvar -> name )
17461746 printf (" Name: %s\n" , matvar -> name );
17471747 printf (" Rank: %d\n" , matvar -> rank );
1748- if ( matvar -> rank = = 0 )
1748+ if ( matvar -> rank < = 0 )
17491749 return ;
1750- printf ("Dimensions: %" SIZE_T_FMTSTR ,matvar -> dims [0 ]);
1751- nmemb = matvar -> dims [0 ];
1752- for ( i = 1 ; i < matvar -> rank ; i ++ ) {
1753- printf (" x %" SIZE_T_FMTSTR ,matvar -> dims [i ]);
1754- nmemb *= matvar -> dims [i ];
1750+ if ( NULL != matvar -> dims ) {
1751+ printf ("Dimensions: %" SIZE_T_FMTSTR ,matvar -> dims [0 ]);
1752+ nmemb = matvar -> dims [0 ];
1753+ for ( i = 1 ; i < matvar -> rank ; i ++ ) {
1754+ printf (" x %" SIZE_T_FMTSTR ,matvar -> dims [i ]);
1755+ nmemb *= matvar -> dims [i ];
1756+ }
1757+ printf ("\n" );
17551758 }
1756- printf ("\n" );
17571759 printf ("Class Type: %s" ,class_type_desc [matvar -> class_type ]);
17581760 if ( matvar -> isComplex )
17591761 printf (" (complex)" );
@@ -1816,9 +1818,9 @@ Mat_VarPrint( matvar_t *matvar, int printdata )
18161818
18171819 if ( matvar -> rank > 2 ) {
18181820 printf ("I can't print more than 2 dimensions\n" );
1819- } else if ( matvar -> rank == 1 && matvar -> dims [0 ] > 15 ) {
1821+ } else if ( matvar -> rank == 1 && NULL != matvar -> dims && matvar -> dims [0 ] > 15 ) {
18201822 printf ("I won't print more than 15 elements in a vector\n" );
1821- } else if ( matvar -> rank == 2 ) {
1823+ } else if ( matvar -> rank == 2 && NULL != matvar -> dims ) {
18221824 switch ( matvar -> class_type ) {
18231825 case MAT_C_DOUBLE :
18241826 case MAT_C_SINGLE :
0 commit comments