diff options
author | tradke <tradke@94b1c47f-dcfd-45ef-a468-0854c0e9e350> | 2000-08-30 10:27:22 +0000 |
---|---|---|
committer | tradke <tradke@94b1c47f-dcfd-45ef-a468-0854c0e9e350> | 2000-08-30 10:27:22 +0000 |
commit | 65dc866e70b6c37b20a9f504396d04c14cec9a3a (patch) | |
tree | 0951b67a4725525b4725589514fc20c5d1178450 /src/ChooseOutput.c | |
parent | 050071bd86c370a73c59c2274c6b14f1a50bce04 (diff) |
Fixed small memory leak reported by purify.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOASCII/trunk@20 94b1c47f-dcfd-45ef-a468-0854c0e9e350
Diffstat (limited to 'src/ChooseOutput.c')
-rw-r--r-- | src/ChooseOutput.c | 129 |
1 files changed, 57 insertions, 72 deletions
diff --git a/src/ChooseOutput.c b/src/ChooseOutput.c index 81a6ea5..f649270 100644 --- a/src/ChooseOutput.c +++ b/src/ChooseOutput.c @@ -40,25 +40,22 @@ CCTK_FILEVERSION(CactusBase_IOASCII_ChooseOutput_c) void IOASCII_Choose1D(CCTK_ARGUMENTS) { DECLARE_CCTK_PARAMETERS - int i; asciiioGH *myGH; /* IOASCII extension handle */ - int **origin_index; /* Specify output lines with indices */ - CCTK_REAL **origin_phys; /* Specify output lines with coordinates */ + 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_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 = (int **)malloc(3*sizeof(int *)); - origin_index[0] = (int *)malloc(3*sizeof(int )); - origin_index[1] = (int *)malloc(3*sizeof(int )); - origin_index[2] = (int *)malloc(3*sizeof(int )); + origin_index[0] = (int *) malloc (3*3 * sizeof (int)); + origin_index[1] = origin_index[0] + 3; + origin_index[2] = origin_index[1] + 3; /* Set parameters using 1. Indices from IOASCII @@ -68,63 +65,61 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) */ /* x-lines */ - if (CCTK_ParameterQueryTimesSet("out1D_xline_yi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_xline_yi", "IOASCII") > 0) { - origin_index[0][1] = out1D_xline_yi; + origin_index[0][1] = out1D_xline_yi; } - else if (CCTK_ParameterQueryTimesSet("out_xline_yi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_xline_yi", "IOUtil") > 0) { - origin_index[0][1] = out_xline_yi; + origin_index[0][1] = out_xline_yi; } else { - origin_index[0][1] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_xline_y","IOASCII")>0) + origin_index[0][1] = -1; + if (CCTK_ParameterQueryTimesSet ("out1D_xline_y", "IOASCII") > 0) { - origin_phys[0][1] = out1D_xline_y; + origin_phys[0][1] = out1D_xline_y; } else { - origin_phys[0][1] = out_xline_y; + origin_phys[0][1] = out_xline_y; } } - if (CCTK_ParameterQueryTimesSet("out1D_xline_zi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_xline_zi", "IOASCII") > 0) { - origin_index[0][2] = out1D_xline_zi; + origin_index[0][2] = out1D_xline_zi; } - else if (CCTK_ParameterQueryTimesSet("out_xline_zi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_xline_zi", "IOUtil") > 0) { - origin_index[0][2] = out_xline_zi; + origin_index[0][2] = out_xline_zi; } else { origin_index[0][2] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_xline_z","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_xline_z", "IOASCII") > 0) { - origin_phys[0][2] = out1D_xline_z; + origin_phys[0][2] = out1D_xline_z; } else { - origin_phys[0][2] = out_xline_z; + origin_phys[0][2] = out_xline_z; } } - - /* y-lines */ - if (CCTK_ParameterQueryTimesSet("out1D_yline_xi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_yline_xi", "IOASCII") > 0) { origin_index[1][0] = out1D_yline_xi; } - else if (CCTK_ParameterQueryTimesSet("out_yline_xi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_yline_xi", "IOUtil") > 0) { origin_index[1][0] = out_yline_xi; } else { origin_index[1][0] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_yline_x","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_yline_x", "IOASCII") > 0) { origin_phys[1][0] = out1D_yline_x; } @@ -134,18 +129,18 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) } } - if (CCTK_ParameterQueryTimesSet("out1D_yline_zi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_yline_zi", "IOASCII") > 0) { origin_index[1][2] = out1D_yline_zi; } - else if (CCTK_ParameterQueryTimesSet("out_yline_zi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_yline_zi", "IOUtil") > 0) { origin_index[1][2] = out_yline_zi; } else { origin_index[1][2] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_yline_z","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_yline_z", "IOASCII") > 0) { origin_phys[1][2] = out1D_yline_z; } @@ -156,18 +151,18 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) } /* z-lines */ - if (CCTK_ParameterQueryTimesSet("out1D_zline_xi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_zline_xi", "IOASCII") > 0) { origin_index[2][0] = out1D_zline_xi; } - else if (CCTK_ParameterQueryTimesSet("out_zline_xi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_zline_xi", "IOUtil") > 0) { origin_index[2][0] = out_zline_xi; } else { origin_index[2][0] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_zline_x","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_zline_x", "IOASCII") > 0) { origin_phys[2][0] = out1D_zline_x; } @@ -177,18 +172,18 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) } } - if (CCTK_ParameterQueryTimesSet("out1D_zline_yi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_zline_yi", "IOASCII") > 0) { origin_index[2][1] = out1D_zline_yi; } - else if (CCTK_ParameterQueryTimesSet("out_zline_yi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_zline_yi", "IOUtil") > 0) { origin_index[2][1] = out_zline_yi; } else { origin_index[2][1] = -1; - if (CCTK_ParameterQueryTimesSet("out1D_zline_y","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out1D_zline_y", "IOASCII") > 0) { origin_phys[2][1] = out1D_zline_y; } @@ -198,12 +193,13 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) } } - 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]); } @@ -225,38 +221,32 @@ void IOASCII_Choose1D(CCTK_ARGUMENTS) void IOASCII_Choose2D(CCTK_ARGUMENTS) { DECLARE_CCTK_PARAMETERS - int i; asciiioGH *myGH; /* IOASCII extension handle */ - int *origin_index; /* Specify output planes by indices */ - CCTK_REAL *origin_phys; /* Specify output planes by coordinates */ + 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")]; - /* Set up lines to be output */ - origin_phys = (CCTK_REAL *)malloc(3*sizeof(CCTK_REAL )); - origin_index = (int *)malloc(3*sizeof(int )); - + myGH = (asciiioGH *) cctkGH->extensions[CCTK_GHExtensionHandle ("IOASCII")]; + /* Set parameters using 1. Indices from IOASCII 2. Indices from IOUtil 3. Coords from IOASCII 4. Coords from IOUtil */ - - if (CCTK_ParameterQueryTimesSet("out2D_yzplane_xi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_yzplane_xi", "IOASCII") > 0) { origin_index[0] = out2D_yzplane_xi; } - else if (CCTK_ParameterQueryTimesSet("out_yzplane_xi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_yzplane_xi", "IOUtil") > 0) { origin_index[0] = out_yzplane_xi; } else { origin_index[0] = -1; - if (CCTK_ParameterQueryTimesSet("out2D_yzplane_x","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_yzplane_x", "IOASCII") > 0) { origin_phys[0] = out2D_yzplane_x; } @@ -266,18 +256,18 @@ void IOASCII_Choose2D(CCTK_ARGUMENTS) } } - if (CCTK_ParameterQueryTimesSet("out2D_xzplane_yi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_xzplane_yi", "IOASCII") > 0) { origin_index[1] = out2D_xzplane_yi; } - else if (CCTK_ParameterQueryTimesSet("out_xzplane_yi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_xzplane_yi", "IOUtil") > 0) { origin_index[1] = out_xzplane_yi; } else { origin_index[1] = -1; - if (CCTK_ParameterQueryTimesSet("out2D_xzplane_y","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_xzplane_y", "IOASCII") > 0) { origin_phys[1] = out2D_xzplane_y; } @@ -287,18 +277,18 @@ void IOASCII_Choose2D(CCTK_ARGUMENTS) } } - if (CCTK_ParameterQueryTimesSet("out2D_xyplane_zi","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_xyplane_zi", "IOASCII") > 0) { origin_index[2] = out2D_xyplane_zi; } - else if (CCTK_ParameterQueryTimesSet("out_xyplane_zi","IOUtil")>0) + else if (CCTK_ParameterQueryTimesSet ("out_xyplane_zi", "IOUtil") > 0) { origin_index[2] = out_xyplane_zi; } else { origin_index[2] = -1; - if (CCTK_ParameterQueryTimesSet("out2D_xyplane_z","IOASCII")>0) + if (CCTK_ParameterQueryTimesSet ("out2D_xyplane_z", "IOASCII") > 0) { origin_phys[2] = out2D_xyplane_z; } @@ -308,13 +298,8 @@ void IOASCII_Choose2D(CCTK_ARGUMENTS) } } - for (i=1;i<=CCTK_MaxDim();i++) + 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; } - - |