_EDC_COMPAT
setenv("_EDC_COMPAT","x",1);
- Bit
- Function Affected
- 0
- ungetc()
- 1
- ftell()
- 2
- fclose()
- 3 through 31
- Unused
For this release, calls to fseek() with an offset of SEEK_CUR, fgetpos(), and fflush() take into account characters pushed back with the ungetc() library function. You must set the _EDC_COMPAT environment variable for ungetc() if you want these functions to ignore ungetc() characters as they did in old C/370 code.
For ftell(), z/OS XL C/C++ uses an encoding scheme that varies according to the attributes of the underlying data set. You must set the _EDC_COMPAT environment variable for ftell() if you want to use encoded ftell() values generated in old C/370 code.
You can set _EDC_COMPAT to indicate that fclose() should not unallocate the SYSOUT=* data set when it is closing "*" data sets created under batch. This is to ensure that such data sets can be concatenated with the Job Log, if their attributes are compatible.
Here are some examples of how you can set _EDC_COMPAT:
- setenv("_EDC_COMPAT","1",1); invokes old ungetc() behavior.
- setenv("_EDC_COMPAT","2",1); invokes old ftell() behavior.
- setenv("_EDC_COMPAT","3",1); invokes both old ungetc() behavior and old ftell() behavior.
- setenv("_EDC_COMPAT","4",1); invokes old behavior for spool data sets created by opening "*" in MVS™ or IMS™ batch.