Microsoft KB Archive/32871

{|
 * width="100%"|

write Will Not Work Correctly with SS != DS

 * }

Q32871

5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a | 1.00 1.50 MS-DOS | OS/2 | WINDOWS kbprg kbfasttip -- The information in this article applies to: - The C Run-time (CRT), included with: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax - Microsoft C for OS/2, versions 5.1, 6.0, and 6.0a - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, versions 1.0 and 1.5 -- In code compiled with one of the products listed above, the write function does not work correctly in text mode in any memory model when SS != DS; the function works correctly in binary mode. In text mode, write builds a buffer on the stack to do LF to CR/LF translation. It makes a call to the functions stackavail to make sure it does not overflow the stack; this call is what prevents it from working with SS != DS. In Microsoft C 5.1, only the functions in the OS/2 multithreaded run- time library and the OS/2 DLL run-time library are designed to support SS != DS. In Microsoft C 6.0, all compact and large memory model run- times support SS != DS in addition to the OS/2 multithreaded run-time and the OS/2 DLL run-time. And, in Microsoft C/C++ 7.0 and Visual C++ for Windows, all compact and large memory model run-times support SS != DS, in addition to the Windows DLL run-time. Additional reference words: kbinf 1.00 1.50 5.10 6.00 6.00a 6.00ax 7.00 KBCategory: kbprg kbfasttip KBSubcategory: CRTIss

Keywords : kb16bitonly

Issue type :

Technology : kbVCsearch kbAudDeveloper kbCRT