Microsoft KB Archive/47353

COBOL 3.0a Extension Routines May Hang ANIMATOR; 3.0 Is Fine

PSS ID Number: Q47353 Article last modified on 04-20-1993

3.00a MS-DOS

Summary: Some of the extension routines for Microsoft COBOL 3.0a may hang the ANIMATOR. The following routines cause the ANIMATOR to hang or produce unexpected results in COBOL 3.0a but do not cause any problems with COBOL 3.0: _MSUPCASE _MSLOCASE _MSEXITCODE _MSKBDAVAIL _MSCURPOS The other extension routines perform as expected. Microsoft has confirmed this to be a problem in version 3.0a. This problem is corrected in Microsoft COBOL Professional Development System version 4.0.

More Information: The problem extension routines cause the following unexpected performance: 1. Hanging the machine 2. Halting the program execution with “STOP RUN return code +00000, use ESC to continue” being displayed at the bottom of the ANIMATOR 3. Causing the machine to reboot A sample program that contains the extension routines that may give unexpected results is shown below: $SET ANS85 IDENTIFICATION DIVISION. PROGRAM-ID. TESTus. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 ws-data-name PIC X(5). 01 ws-status PIC XX. 01 ws-comm-line PIC X(128). 01 ws-length PIC 99. 01 ws-column-number PIC 99. 01 ws-line-number PIC 99. 01 ws-exit-code PIC 99. 01 ws-file-name PIC X(12) VALUE “afile.dat”. 01 ws-new-file PIC X(12) VALUE “afil.dat”. PROCEDURE DIVISION. 000-MAIN. DISPLAY “PERFORMING MS UPCASE” CALL &quot;_MSUPCASE&quot; USING BY REFERENCE ws-data-name, BY CONTENT LENGTH OF ws-data-name, ws-length, LENGTH OF ws-length, BY REFERENCE ws-status. DISPLAY “PERFORMING MS LOCASE” CALL &quot;_MSLOCASE&quot; USING BY REFERENCE ws-data-name, BY CONTENT LENGTH OF ws-data-name, ws-length, LENGTH OF ws-length, BY REFERENCE ws-status. DISPLAY “PERFORMING MS EXCODE” CALL &quot;_MSEXCODE&quot; USING BY REFERENCE ws-exit-code, BY CONTENT LENGTH OF ws-exit-code. DISPLAY “PERFORMING MS KBD AVAIL” CALL &quot;_MSKBDAVAIL&quot; USING BY REFERENCE ws-status. DISPLAY “PERFORMING MS CURPOS” CALL &quot;_MSCURPOS&quot; USING BY REFERENCE ws-line-number, ws-column-number. STOP RUN.

Additional reference words: 3.00a Copyright Microsoft Corporation 1993.