From d1fb60f99d8a1d8eb1cbaf673dffb05fa24610b5 Mon Sep 17 00:00:00 2001 From: tradke Date: Mon, 7 Jan 2002 15:17:46 +0000 Subject: No auto recovery possible on NT. git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/IOUtil/trunk@145 b32723a9-ab3a-4a60-88e2-2e5d99d7c17a --- src/CheckpointRecovery.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/CheckpointRecovery.c b/src/CheckpointRecovery.c index a2858ae..efbad8f 100644 --- a/src/CheckpointRecovery.c +++ b/src/CheckpointRecovery.c @@ -19,7 +19,9 @@ #include #include #include +#ifdef HAVE_DIRENT_H #include +#endif static const char *rcsid = "$Header$"; CCTK_FILEVERSION(CactusBase_IOUtil_CheckpointRecovery_c) @@ -55,7 +57,9 @@ typedef struct ******************** Internal Routines ************************ ********************************************************************/ static void SetInputFlag (int vindex, const char *optstring, void *arg); +#ifdef HAVE_DIRENT_H static int CompareFiles (const void *a, const void *b); +#endif /************************************************************************ @@ -513,17 +517,21 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, const char *fileExtension, const char *fileType) { - int len, extension_len, recover_file_len, retval; + int retval; +#ifdef HAVE_DIRENT_H + int len, extension_len, recover_file_len; unsigned int num_files; - DIR *dir; const char *p; + DIR *dir; struct dirent *file; filelist_t *filelist, *tmp; +#endif DECLARE_CCTK_PARAMETERS if (CCTK_Equals (recover, "auto") || CCTK_Equals (recover, "autoprobe")) { +#ifdef HAVE_DIRENT_H if (verbose) { CCTK_VInfo (CCTK_THORNSTRING, "Searching for %s checkpoint files " @@ -635,6 +643,16 @@ int IOUtil_RecoverParameters (int (*recoverFn) (cGH *GH, "recovery directory '%s'", fileType, recover_file, recovery_dir); } +#else + fileExtension = fileExtension; + + /* No opendir(3) ??? It's probably a Windows box, so just give up ! */ + CCTK_WARN (0, "You cannot use 'IO::recover = \"auto*\"' on " + "this architecture because it doesn't provide opendir(3) to " + "automatically look for checkpoint files.\n" + "Please use 'IO::recover = \"manual\"' instead !"); + retval = -1; +#endif } else { @@ -867,9 +885,11 @@ static void SetInputFlag (int vindex, const char *optstring, void *flags) } +#ifdef HAVE_DIRENT_H /* callback for qsort() to sort the list of recovery files found */ static int CompareFiles (const void *a, const void *b) { return (((const filelist_t *) a)->iteration - ((const filelist_t *) b)->iteration); } +#endif -- cgit v1.2.3