X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..b801cf366c7671a99bdcef84d1e9c0ec64b36723:/icuSources/tools/toolutil/toolutil.cpp?ds=inline diff --git a/icuSources/tools/toolutil/toolutil.cpp b/icuSources/tools/toolutil/toolutil.cpp index 7c02efc3..6d90efc2 100644 --- a/icuSources/tools/toolutil/toolutil.cpp +++ b/icuSources/tools/toolutil/toolutil.cpp @@ -1,7 +1,7 @@ /* ******************************************************************************* * -* Copyright (C) 1999-2011, International Business Machines +* Copyright (C) 1999-2014, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* @@ -18,6 +18,14 @@ * This file contains utility functions for ICU tools like genccode. */ +#include "unicode/platform.h" +#if U_PLATFORM == U_PF_MINGW +// *cough* - for struct stat +#ifdef __STRICT_ANSI__ +#undef __STRICT_ANSI__ +#endif +#endif + #include #include #include "unicode/utypes.h" @@ -33,6 +41,9 @@ # define NOSERVICE # define NOIME # define NOMCX +# if U_PLATFORM == U_PF_MINGW +# define __NO_MINGW_LFS /* gets around missing 'off64_t' */ +# endif # include # include #else @@ -151,7 +162,10 @@ findBasename(const char *filename) { const char *basename=uprv_strrchr(filename, U_FILE_SEP_CHAR); #if U_FILE_ALT_SEP_CHAR!=U_FILE_SEP_CHAR - if(basename==NULL) { +#if !(U_PLATFORM == U_PF_CYGWIN && U_PLATFORM_USES_ONLY_WIN32_API) + if(basename==NULL) +#endif + { /* Use lenient matching on Windows, which can accept either \ or / This is useful for environments like Win32+CygWin which have both. */ @@ -191,6 +205,18 @@ uprv_mkdir(const char *pathname, UErrorCode *status) { } } +#if !UCONFIG_NO_FILE_IO +U_CAPI UBool U_EXPORT2 +uprv_fileExists(const char *file) { + struct stat stat_buf; + if (stat(file, &stat_buf) == 0) { + return TRUE; + } else { + return FALSE; + } +} +#endif + /*U_CAPI UDate U_EXPORT2 uprv_getModificationDate(const char *pathname, UErrorCode *status) {