diff options
author | tradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a> | 2001-08-10 23:34:20 +0000 |
---|---|---|
committer | tradke <tradke@ebee0441-1374-4afa-a3b5-247f3ba15b9a> | 2001-08-10 23:34:20 +0000 |
commit | 6d4c27b426e4579136bbc8402b74dc566c656b3c (patch) | |
tree | 84e6edb05570f79d80ee604d52c810d0fd9a76c5 | |
parent | d677da6363292eb42307ac54148523bac95814bc (diff) |
Use IOUtil_CreateDirectory() to create output directories.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGHIO/IOFlexIO/trunk@216 ebee0441-1374-4afa-a3b5-247f3ba15b9a
-rw-r--r-- | src/GHExtension.c | 67 | ||||
-rw-r--r-- | src/Write3D.c | 14 |
2 files changed, 46 insertions, 35 deletions
diff --git a/src/GHExtension.c b/src/GHExtension.c index b0a5cdc..fc319fe 100644 --- a/src/GHExtension.c +++ b/src/GHExtension.c @@ -20,6 +20,8 @@ #include "cctk.h" #include "cctk_Parameters.h" #include "CactusPUGH/PUGH/src/include/pugh.h" +#include "CactusBase/IOUtil/src/ioGH.h" +#include "CactusBase/IOUtil/src/ioutil_Utils.h" #include "ioFlexGH.h" static const char *rcsid = "$Header$"; @@ -116,11 +118,13 @@ int IOFlexIO_InitGH (cGH *GH) { DECLARE_CCTK_PARAMETERS int i; + ioGH *ioUtilGH; flexioGH *myGH; - /* get the handle for IOFlexIO extensions */ - myGH = (flexioGH *) GH->extensions [CCTK_GHExtensionHandle ("IOFlexIO")]; + /* get the handles for IOUtil and IOFlexIO extensions */ + ioUtilGH = (ioGH *) CCTK_GHExtension (GH, "IO"); + myGH = (flexioGH *) CCTK_GHExtension (GH, "IOFlexIO"); /* How often to output */ myGH->out2D_every = out_every > 0 ? out_every : -1; @@ -155,39 +159,40 @@ int IOFlexIO_InitGH (cGH *GH) } /* Create the output directories */ - if (CCTK_MyProc (GH) == 0) + i = IOUtil_CreateDirectory (GH, myGH->outdir2D, + ! CCTK_Equals (out3D_mode, "onefile"), + ioUtilGH->ioproc); + if (i < 0) { - i = CCTK_CreateDirectory (0755, myGH->outdir2D); - if (i < 0) - { - CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, - "IOFlexIO_InitGH: Problem creating IOFlexIO 2D output" - " directory '%s'", myGH->outdir2D); - } - if (i > 0) - { - CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING, - "IOFlexIO_InitGH: 2D IOFlexIO output directory '%s' " - "already exists", myGH->outdir2D); - } - i = CCTK_CreateDirectory (0755, myGH->outdir3D); - if (i < 0) - { - CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, - "IOFlexIO_InitGH: Problem creating IOFlexIO 3D output " - "directory '%s'", myGH->outdir3D); - } - if (i > 0) - { - CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING, - "IOFlexIO_InitGH: 3D IOFlexIO output directory '%s' " - "already exists", myGH->outdir3D); - } + CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, + "IOFlexIO_InitGH: problem creating IOFlexIO 2D output" + " directory '%s'", myGH->outdir2D); + } + else if (i > 0 && CCTK_Equals (newverbose, "full")) + { + CCTK_VInfo (CCTK_THORNSTRING, + "IOFlexIO_InitGH: 2D IOFlexIO output directory '%s' " + "already exists", myGH->outdir2D); + } + i = IOUtil_CreateDirectory (GH, myGH->outdir3D, + ! CCTK_Equals (out3D_mode, "onefile"), + ioUtilGH->ioproc); + if (i < 0) + { + CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, + "IOFlexIO_InitGH: Problem creating IOFlexIO 3D output" + " directory '%s'", myGH->outdir3D); + } + else if (i > 0 && CCTK_Equals (newverbose, "full")) + { + CCTK_VInfo (CCTK_THORNSTRING, + "IOFlexIO_InitGH: 3D IOFlexIO output directory '%s' " + "already exists", myGH->outdir3D); } - for (i=0; i<CCTK_NumVars(); i++) + for (i = CCTK_NumVars () - 1; i >= 0; i--) { - myGH->out2D_last [i] = myGH->out3D_last [i] = -1; + myGH->out2D_last[i] = myGH->out3D_last[i] = -1; } myGH->fileList_2D = myGH->fileList_3D = NULL; diff --git a/src/Write3D.c b/src/Write3D.c index 48c2472..dc48904 100644 --- a/src/Write3D.c +++ b/src/Write3D.c @@ -38,6 +38,7 @@ #include "cctk_Parameters.h" #include "CactusPUGH/PUGH/src/include/pugh.h" #include "CactusBase/IOUtil/src/ioGH.h" +#include "CactusBase/IOUtil/src/ioutil_Utils.h" #include "CactusBase/IOUtil/src/ioutil_CheckpointRecovery.h" #include "ioFlexGH.h" @@ -344,13 +345,19 @@ static IEEEfile_3D_t *IOFlexIO_Get3Dfile (cGH *GH, const char *alias, strlen (alias) + 5); sprintf (outputdir, "%s/%s_3d", myGH->outdir3D, alias); - result = CCTK_CreateDirectory (0755, outputdir); + result = IOUtil_CreateDirectory (GH, outputdir, + ! CCTK_Equals (out3D_mode, "onefile"), + ioUtilGH->ioproc); if (result < 0) + { CCTK_VWarn (1, __LINE__, __FILE__, CCTK_THORNSTRING, "Problem creating 3D output directory '%s'", outputdir); - if (result > 0) - CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING, + } + else if (result > 0 && CCTK_Equals (newverbose, "full")) + { + CCTK_VInfo (CCTK_THORNSTRING, "3D output directory '%s' already exists", outputdir); + } free (outputdir); } @@ -403,5 +410,4 @@ static IEEEfile_3D_t *IOFlexIO_Get3Dfile (cGH *GH, const char *alias, } return (IEEEfile_3D); - } |