*DECK FCSRRFF 
USETEXT TEXTFCS;
      PROC FCSRRFF (MBTIDX, RESULT);
*CALL COPYRITE
# TITLE FCSRRFF - READ FROM FILE.                                      #
  
      BEGIN                            # FCSRRFF                       #
  
# 
**    FCSRRFF - READ FROM FILE. 
* 
*     C. J. RAMSAY                     87/11/03 
* 
*     THIS PROCEDURE READS THE NEXT LINE FROM THE SPECIFIED FILE
*     AND CONVERTS IT FROM 6/12 ASCII TO 8/8 ASCII. 
* 
*     PROC FCSRRFF (MBTIDX, RESULT) 
* 
*     ENTRY   MBTIDX     = MBT ENTRY INDEX OF FILE TO READ. 
* 
*     EXIT    RESULT     = RESULT RETURN BY *READC* MACRO.
*             INPBUF     = BUFFER CONTAINING 8/8 ASCII DATA.
*             INPLEN     = NUMBER OF OCTETS IN INPUT BUFFER.
* 
*     METHOD  READ A CODED LINE FROM THE SPECIFIED FILE.
*             IF DATA TRANSFERRED THEN CONVERT THE DATA FROM 6/12 
*             ASCII TO 8/8 ASCII AND PLACE IN THE INPUT BUFFER. 
* 
# 
  
# 
****  PROC FCSRRFF - XREF LIST
# 
      XREF
        BEGIN 
        PROC NETUC6A;                  # CONVERT 6/12 ASCII TO ASCII   #
        PROC READC;                    # READ A CODED LINE             #
        END 
# 
****
# 
      ITEM MBTIDX        I;            # MBT ENTRY INDEX OF FILE       #
      ITEM RESULT        I;            # RESULT RETURNED BY *READC*    #
  
      ITEM NUMC          I;            # NUMBER OF CHARACTERS          #
      ITEM SIND          I;            # SOURCE INDEX                  #
      CONTROL EJECT;
# 
*     START MAIN PROCEDURE
# 
      INPLEN = 0;                      # INITIALIZED LENGTH OF INPUT   #
      IF MBT$DT[MBTIDX] EQ "TT" 
      THEN
        BEGIN                          # FILE ASSIGNED TO TERMINAL     #
        MBT$STAT[MBTIDX] = 1;          # CLEAR STATUS + SET COMPLETION #
        END 
  
      READC (MBT[MBTIDX], WORKBUF,
             WORKSIZ$+1, RESULT);      # READ CODED LINE               #
# 
*     IF CODED LINE READ THEN CONVERT THE DATA TO 8/8 ASCII.
# 
      IF RESULT EQ 0
      THEN
        BEGIN                          # DATA TRANSFERRED              #
        SIND = 0;                      # INITIALIZE SOURCE INDEX       #
        NETUC6A (WORKBUF, SIND, NUMC, 
                 INPBUF, INPLEN);      # CONVERT TO 8/8 ASCII          #
        INPLEN = INPLEN - 1;           # STRIP UNIT SEPARATOR          #
        END 
  
      RETURN;                          # RETURN TO CALLER              #
  
      END                              # FCSRRFF                       #
  
      TERM
