| 195 | 
  | 
 | 
| 196 | 
  | 
        if (inspec == NULL) {                   /* reading from stdin? */ | 
| 197 | 
  | 
                inspec = "<stdin>"; | 
| 198 | 
< | 
#if defined(_WIN32) || defined(_WIN64) | 
| 199 | 
< | 
                _setmode(fileno(stdin), _O_BINARY); | 
| 200 | 
< | 
#endif | 
| 198 | 
> | 
                SET_FILE_BINARY(stdin); | 
| 199 | 
  | 
        } else if (inspec[0] == '!') { | 
| 200 | 
  | 
                if ((fp = popen(inspec+1, "r")) == NULL) | 
| 201 | 
  | 
                        return(NULL); | 
| 202 | 
< | 
#if defined(_WIN32) || defined(_WIN64) | 
| 205 | 
< | 
                _setmode(fileno(fp), _O_BINARY); | 
| 206 | 
< | 
#endif | 
| 202 | 
> | 
                SET_FILE_BINARY(stdin); | 
| 203 | 
  | 
        } else { | 
| 204 | 
  | 
                const char      *sp = inspec;   /* check suffix */ | 
| 205 | 
  | 
                while (*sp) | 
| 250 | 
  | 
        dnew->info = dinfo.info; | 
| 251 | 
  | 
        switch (dinfo.dtype) { | 
| 252 | 
  | 
        case DTascii: | 
| 253 | 
< | 
#if defined(_WIN32) || defined(_WIN64) | 
| 258 | 
< | 
                _setmode(fileno(fp), _O_TEXT); | 
| 259 | 
< | 
#endif | 
| 253 | 
> | 
                SET_FILE_TEXT(stdin); | 
| 254 | 
  | 
                if (!rmx_load_ascii(dnew, fp)) | 
| 255 | 
  | 
                        goto loaderr; | 
| 256 | 
  | 
                dnew->dtype = DTascii;          /* should leave double? */ |