diff --git a/src/main.c b/src/main.c index a6bf56bb6..3e1918be1 100644 --- a/src/main.c +++ b/src/main.c @@ -879,6 +879,13 @@ int main(int argc, char *argv[]) int i; outs.stream = stdout; +#ifdef __EMX__ + /* 20000318 mgs + * we call _fsetmode to fix the problem with fwrite converting newline + * characters (you get mangled text files, and corrupted binary files when + * you download to stdout and redirect it to a file). */ + _fsetmode(stdout, "b"); +#endif memset(&config, 0, sizeof(struct Configurable)); diff --git a/src/setup.h b/src/setup.h index 78103f9ce..55ea7074f 100644 --- a/src/setup.h +++ b/src/setup.h @@ -82,10 +82,20 @@ int fileno( FILE *stream); #define DIR_CHAR "\\" #define DOT_CHAR "_" #else +#ifdef __EMX__ +/* 20000318 mgs + * OS/2 supports leading dots in filenames if the volume is formatted + * with JFS or HPFS. */ +#define PATH_CHAR ";" +#define DIR_CHAR "\\" +#define DOT_CHAR "." +#else + #define PATH_CHAR ":" #define DIR_CHAR "/" #define DOT_CHAR "." +#endif #endif #endif /* __SETUP_H */