X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkXdrImageIOWriter.cxx;h=6eae6a595f529f45a76286370010b25710a30a61;hb=543b72e23ad001ac2a7743b9beacf48e2d0054ac;hp=ad348447a60231be1183db9ab7956053b9687179;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/common/clitkXdrImageIOWriter.cxx b/common/clitkXdrImageIOWriter.cxx old mode 100755 new mode 100644 index ad34844..6eae6a5 --- a/common/clitkXdrImageIOWriter.cxx +++ b/common/clitkXdrImageIOWriter.cxx @@ -34,14 +34,14 @@ #if !defined(unix) && !defined(__APPLE__) //#define _read readfix #endif -#define AVSINT ptrdiff_t +#define AVSINT std::ptrdiff_t #define AVS_ERROR #define AVS_OK //From portdefs.h #if defined(unix) || defined(__APPLE__) #define O_BINARY 0 -#define setmode(a,b) 0 +//#define setmode(a,b) 0 // comment by ds #endif #ifndef __LARGE__ @@ -97,15 +97,18 @@ void clitk::XdrImageIO::Write(const void* buffer) #include #include #include -#if !defined(unix) && !defined(__APPLE__) -#include +#ifndef _WIN32 +# include +#endif +#ifdef _WIN32 +# include #endif #include #include #include -#ifdef WIN32 +#ifdef _WIN32 // don't use min() and max() macros indirectly defined by windows.h, // but use portable std::min() and std:max() instead #ifndef NOMINMAX @@ -253,7 +256,7 @@ static int wxdr_write(int handle, const void * buf, unsigned len) { // if (handle == 1) // stdout if (handle == fileno(stdout)) { -#ifdef WIN32 +#ifdef _WIN32 // Behave as C standard library write(): return number of bytes // written or -1 and errno set on error. fflush(stdout); @@ -834,6 +837,12 @@ void clitk::XdrImageIO::WriteImage(const char* file, char* headerinfo, char* hea char *buf2; size_t slen; +#ifdef _WIN32 + int oldFMode; + _get_fmode(&oldFMode); + _set_fmode(O_BINARY); /* default binary i/o */ +#endif + if (bLittleEndian) swap_test = 0x00000001; @@ -948,7 +957,7 @@ void clitk::XdrImageIO::WriteImage(const char* file, char* headerinfo, char* hea for (i=0; i