From 37260b047b4e9891c04209893308c0b6ee6b85da Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Mon, 30 Jul 2007 21:35:20 +0300 Subject: [PATCH] Apparently, the previous patch didn't handle all of the cases :) --- pthreads/matrixmul.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pthreads/matrixmul.c b/pthreads/matrixmul.c index 347cfd0..00e428b 100755 --- a/pthreads/matrixmul.c +++ b/pthreads/matrixmul.c @@ -44,10 +44,13 @@ int main(int argc, char *argv[]) } /* read matrix data from files */ - if (matrix_read(argv[1], &mat1) != mm_error_none || - matrix_read(argv[1], &mat2) != mm_error_none) + if (matrix_read(argv[1], &mat1) != mm_error_none) goto CLEANUP_AND_EXIT; - mdepth += 2; + mdepth++; + + if (matrix_read(argv[1], &mat2) != mm_error_none) + goto CLEANUP_AND_EXIT; + mdepth++; /* is the multiplication feasible by definition? */ if (mat1->cols != mat2->rows) { @@ -108,11 +111,11 @@ int main(int argc, char *argv[]) if (mat3 != NULL) matrix_free(&mat2); case 2: - if (mat1 != NULL) - matrix_free(&mat1); if (mat2 != NULL) matrix_free(&mat2); case 1: + if (mat1 != NULL) + matrix_free(&mat1); case 0: ; /* free nothing */ } -- 2.11.4.GIT