aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a>2000-08-30 10:39:28 +0000
committertradke <tradke@b32723a9-ab3a-4a60-88e2-2e5d99d7c17a>2000-08-30 10:39:28 +0000
commitae7e450287f39faf9e4c2ef285c4a7233046b9d4 (patch)
treef1684c0a63e7ef015bfac28fecfd0cc6db0dd919
parent08fba24cd52b6bc7d573ad53eab6b6309791574f (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.c89
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;
}
-
-