diff options
author | goodale <goodale@eff87b29-5268-4891-90a3-a07138403961> | 2002-01-18 01:49:42 +0000 |
---|---|---|
committer | goodale <goodale@eff87b29-5268-4891-90a3-a07138403961> | 2002-01-18 01:49:42 +0000 |
commit | 42b53f3d80be77d3ff67bdabfce7f8feec375bd0 (patch) | |
tree | f877b419ceccde6b60fb53c5b1d7798eaa73fd25 | |
parent | f00909055d4cc937dd9c97c9a6d1fee58497bda4 (diff) |
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
-rw-r--r-- | src/GHExtension.c | 34 | ||||
-rw-r--r-- | 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); |