diff options
author | tradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a> | 2000-08-30 10:39:28 +0000 |
---|---|---|
committer | tradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a> | 2000-08-30 10:39:28 +0000 |
commit | ae7e450287f39faf9e4c2ef285c4a7233046b9d4 (patch) | |
tree | f1684c0a63e7ef015bfac28fecfd0cc6db0dd919 | |
parent | 08fba24cd52b6bc7d573ad53eab6b6309791574f (diff) |
Fixing small memory leak reported by purify.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOUtil/trunk@86 b32723a9-ab3a-4a60-88e2-2e5d99d7c17a
-rw-r--r-- | src/ChooseOutput.c | 89 |
1 files changed, 36 insertions, 53 deletions
diff --git a/src/ChooseOutput.c b/src/ChooseOutput.c index 3089399..0fb88f8 100644 --- a/src/ChooseOutput.c +++ b/src/ChooseOutput.c @@ -34,60 +34,54 @@ CCTK_FILEVERSION(CactusBase_IOASCII_ChooseOutput_c) @hdesc @version $Header$ @@*/ - void IOASCII_Choose1D(CCTK_ARGUMENTS) { DECLARE_CCTK_PARAMETERS - int i; asciiioGH *myGH; /* IOASCII extension handle */ - CCTK_INT **origin_index; /* Specify output lines with indices */ - CCTK_REAL **origin_phys; /* Specify output lines with coordinates */ - cGroup groupinfo; /* variable's group info */ + int *origin_index[3]; /* Specify output lines with indices */ + CCTK_REAL *origin_phys[3]; /* Specify output lines with coordinates */ - myGH = (asciiioGH *) cctkGH->extensions - [CCTK_GHExtensionHandle ("IOASCII")]; + + myGH = (asciiioGH *) cctkGH->extensions [CCTK_GHExtensionHandle ("IOASCII")]; /* Set up lines to be output */ - origin_phys = (CCTK_REAL **)malloc(3*sizeof(CCTK_REAL *)); - origin_phys[0] = (CCTK_REAL *)malloc(3*sizeof(CCTK_REAL )); - origin_phys[1] = (CCTK_REAL *)malloc(3*sizeof(CCTK_REAL )); - origin_phys[2] = (CCTK_REAL *)malloc(3*sizeof(CCTK_REAL )); - - origin_index = (CCTK_INT **)malloc(3*sizeof(CCTK_INT *)); - origin_index[0] = (CCTK_INT *)malloc(3*sizeof(CCTK_INT )); - origin_index[1] = (CCTK_INT *)malloc(3*sizeof(CCTK_INT )); - origin_index[2] = (CCTK_INT *)malloc(3*sizeof(CCTK_INT )); - + origin_phys[0] = (CCTK_REAL *) malloc (3*3 * sizeof (CCTK_REAL)); + origin_phys[1] = origin_phys[0] + 3; + origin_phys[2] = origin_phys[1] + 3; + + origin_index[0] = (int *) malloc (3*3 * sizeof (int)); + origin_index[1] = origin_index[0] + 3; + origin_index[2] = origin_index[1] + 3; + /* x-lines */ origin_phys[0][1] = out1D_xline_y; origin_phys[0][2] = out1D_xline_z; - origin_index[0][1] = (int)out1D_xline_yi; - origin_index[0][2] = (int)out1D_xline_zi; + origin_index[0][1] = out1D_xline_yi; + origin_index[0][2] = out1D_xline_zi; /* y-lines */ origin_phys[1][0] = out1D_yline_x; origin_phys[1][2] = out1D_yline_z; - origin_index[1][0] = (int)out1D_yline_xi; - origin_index[1][2] = (int)out1D_yline_zi; + origin_index[1][0] = out1D_yline_xi; + origin_index[1][2] = out1D_yline_zi; /* z-lines */ origin_phys[2][0] = out1D_zline_x; origin_phys[2][1] = out1D_zline_y; - origin_index[2][0] = (int)out1D_zline_xi; - origin_index[2][1] = (int)out1D_zline_yi; + origin_index[2][0] = out1D_zline_xi; + origin_index[2][1] = out1D_zline_yi; - for (i=1;i<=CCTK_MaxDim();i++) + for (i = 1; i <= CCTK_MaxDim(); i++) { - IOUtil_1DLines (cctkGH, i, origin_index, - origin_phys, myGH->spxyz[i-1]); + IOUtil_1DLines (cctkGH, i, origin_index, origin_phys, myGH->spxyz[i-1]); } - return; + free (origin_phys[0]); + free (origin_index[0]); } - /*@@ @routine IOASCII_Choose2D @author Gabrielle Allen @@ -101,39 +95,28 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) @hdesc @version $Header$ @@*/ - void IOASCII_Choose2D(CCTK_ARGUMENTS) { DECLARE_CCTK_PARAMETERS - int i; asciiioGH *myGH; /* IOASCII extension handle */ - CCTK_INT *origin_index; /* Specify output planes by indices */ - CCTK_REAL *origin_phys; /* Specify output planes by coordinates */ - cGroup groupinfo; /* Variable's group info */ + int origin_index[3]; /* Specify output planes by indices */ + CCTK_REAL origin_phys[3]; /* Specify output planes by coordinates */ + - myGH = (asciiioGH *) cctkGH->extensions - [CCTK_GHExtensionHandle ("IOASCII")]; + myGH = (asciiioGH *) cctkGH->extensions[CCTK_GHExtensionHandle ("IOASCII")]; /* Set up lines to be output */ - origin_phys = (CCTK_REAL *)malloc(3*sizeof(CCTK_REAL )); - origin_index = (CCTK_INT *)malloc(3*sizeof(CCTK_INT )); - - origin_phys[0] = out2D_yzplane_x; - origin_phys[1] = out2D_xzplane_y; - origin_phys[2] = out2D_xyplane_z; - - origin_index[0] = out2D_yzplane_xi; - origin_index[1] = out2D_xzplane_yi; - origin_index[2] = out2D_xyplane_zi; - - for (i=1;i<=CCTK_MaxDim();i++) + origin_phys[0] = out2D_yzplane_x; + origin_phys[1] = out2D_xzplane_y; + origin_phys[2] = out2D_xyplane_z; + + origin_index[0] = out2D_yzplane_xi; + origin_index[1] = out2D_xzplane_yi; + origin_index[2] = out2D_xyplane_zi; + + for (i = 1; i <= CCTK_MaxDim(); i++) { - IOUtil_2DPlanes (cctkGH, i, origin_index, - origin_phys, myGH->sp2xyz[i-1]); + IOUtil_2DPlanes (cctkGH, i, origin_index, origin_phys, myGH->sp2xyz[i-1]); } - - return; } - - |