From 42b53f3d80be77d3ff67bdabfce7f8feec375bd0 Mon Sep 17 00:00:00 2001 From: goodale Date: Fri, 18 Jan 2002 01:49:42 +0000 Subject: Trap attempt to use IOJpeg when maxdim < 3. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusIO/IOJpeg/trunk@51 eff87b29-5268-4891-90a3-a07138403961 --- src/GHExtension.c | 34 +++++++++++++++++++--------------- src/Startup.c | 7 +++++++ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/GHExtension.c b/src/GHExtension.c index e88d18a..1b65a07 100644 --- a/src/GHExtension.c +++ b/src/GHExtension.c @@ -112,26 +112,30 @@ void IOJpeg_SliceCenterSetup(CCTK_ARGUMENTS) int numvars; IOJpegGeo_t geo_default; IOJpegGH *myGH; + int extension_handle; + extension_handle = CCTK_GHExtensionHandle ("IOJpeg"); - myGH = (IOJpegGH *) cctkGH->extensions [CCTK_GHExtensionHandle ("IOJpeg")]; - - numvars = CCTK_NumVars (); - - /* Loop over all slab dimension */ - for (idim = 0; idim < SLABSKEL_MAXDIM; idim++) + if(extension_handle >= 0) { - IOJpeg_DefaultGeo(cctkGH, idim, &geo_default); + myGH = (IOJpegGH *) cctkGH->extensions [extension_handle]; + + numvars = CCTK_NumVars (); - /* Set the default HDF5 slab geometry for slab with dimension -idim-*/ - for (inum = 0; inum < numvars; inum++) + /* Loop over all slab dimension */ + for (idim = 0; idim < SLABSKEL_MAXDIM; idim++) { - myGH->out_geo[inum][idim] = geo_default; - myGH->out_geo[inum][idim].vdim = CCTK_GroupDimFromVarI (inum); - } + IOJpeg_DefaultGeo(cctkGH, idim, &geo_default); - /* allocate the flags array for every possible 2D hyperslab */ - myGH->advertised[idim] = (char *) calloc (numvars, 1); - } + /* Set the default HDF5 slab geometry for slab with dimension -idim-*/ + for (inum = 0; inum < numvars; inum++) + { + myGH->out_geo[inum][idim] = geo_default; + myGH->out_geo[inum][idim].vdim = CCTK_GroupDimFromVarI (inum); + } + /* allocate the flags array for every possible 2D hyperslab */ + myGH->advertised[idim] = (char *) calloc (numvars, 1); + } + } } diff --git a/src/Startup.c b/src/Startup.c index e5c19ae..6927697 100644 --- a/src/Startup.c +++ b/src/Startup.c @@ -29,6 +29,13 @@ void IOJpeg_Startup (void) return; } + if (CCTK_MaxDim() < 3) + { + CCTK_WARN (1, "IOJpeg: IOJpeg can only currently handle 3D GVs. " + "No IOJpeg IO methods will be enabled."); + return; + } + IO_GHExtension = CCTK_RegisterGHExtension ("IOJpeg"); CCTK_RegisterGHExtensionSetupGH (IO_GHExtension, IOJpeg_SetupGH); CCTK_RegisterGHExtensionInitGH (IO_GHExtension, IOJpeg_InitGH); -- cgit v1.2.3