X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fio%2Fsg_file.cxx;h=250518d847f5f99f6d26d7070c4521b2d5f10290;hb=09b0dd2b2d7d934c1d4059cb2cbd3b4fcbb7872f;hp=bbfc324707b4d132ec8344f1719df9bbf218900f;hpb=74d3bdc68cb86f734c9de11a5d179960384b22b7;p=simgear.git diff --git a/simgear/io/sg_file.cxx b/simgear/io/sg_file.cxx index bbfc3247..250518d8 100644 --- a/simgear/io/sg_file.cxx +++ b/simgear/io/sg_file.cxx @@ -25,12 +25,20 @@ #include -#if defined(_MSC_VER) || defined(__MINGW32__) +#ifdef _WIN32 # include #endif #include +#include +#include +#include + +#if !defined(_MSC_VER) +# include +#endif + #include #include @@ -38,13 +46,20 @@ using std::string; - SGFile::SGFile(const string &file, int repeat_) : file_name(file), fp(-1), eof_flag(true), repeat(repeat_), iteration(0) { set_type( sgFileType ); } +SGFile::SGFile( int existingFd ) : + fp(existingFd), + eof_flag(false), + repeat(1), + iteration(0) +{ + set_type( sgFileType ); +} SGFile::~SGFile() { } @@ -55,7 +70,7 @@ bool SGFile::open( const SGProtocolDir d ) { set_dir( d ); if ( get_dir() == SG_IO_OUT ) { -#if defined(_MSC_VER) || defined(__MINGW32__) +#ifdef _WIN32 int mode = 00666; #else mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;