*DECK DB$BS70 
USETEXT BRGENTX 
USETEXT SCANTXT 
      PROC DB$BS70; 
      BEGIN 
 #
* *   DB$BS70 - VALIDATE AND STORE SIZE          PAGE  1
* *   P. A. MURRAY                               DATE  01/30/81 
* 
* DC  PURPOSE 
* 
*     TO VALIDATE THE SIZE AND STORE IT IN THE EXECUTION TABLE. 
* 
* DC  ENTRY CONDITIONS
* 
* D   ASSUMPTIONS 
* 
*     CURWORD CONTAINS THE SIZE IN DISPLAY CODE.  DB$CLNG CONTAINS THE
*     LENGTH OF CURWORD.
* 
* DC  EXIT CONDITIONS 
* 
*     NORMAL - THE SIZE IS STORED IN THE EXECUTION TABLE.  RETURN TO
*              DB$YES.
* 
*     ABNORMAL - IF THE SIZE IS INVALID, RETURN TO DB$NO. 
* 
* DC  CALLING ROUTINES
* 
*     DB$BSTX - BASIC RECOVERY SYNTAX CRACKER 
* 
* DC  CALLED ROUTINES 
# 
      XREF FUNC DB$CBIN I;   # CONVERT DISPLAY DECIMAL TO BINARY       #
      XREF PROC DB$NO;       # SYNTAX TABLE DRIVER -NO- RETURN         #
      XREF PROC DB$YES;      # SYNTAX TABLE DRIVER -YES- RETURN        #
# 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     EXJLSZ                 SIZE OF JOURNAL LOG FILE 
*     EXQRFSZ                SIZE OF QUICK RECOVERY FILE
* 
* DC  DESCRIPTION 
* 
*     CALL DB$CBIN TO CONVERT THE DISPLAY CODE NUMBER TO BINARY.  IF THE
*     SIZE IS LESS THAN 0 OR GREATER THAN THE MAXIMUM VALUE FOR SIZE, 
*     RETURN TO DB$NO.  STORE SIZE IN THE EXECUTION TABLE DEPENDING ON
*     THE VALUE OF "FILECLAUSE". RETURN TO DB$YES.
* 
 #
  
      ITEM TEMPSIZE I;       # STORE SIZE                              #
      CONTROL EJECT;
# S T A R T   O F   D B $ B S 7 0   E X E C U T A B L E   C O D E      #
  
  
      TEMPSIZE = DB$CBIN(CURWORD[0], DB$CLNG, 10);
      IF TEMPSIZE LS 1
        OR TEMPSIZE GR DFMAXSIZE
      THEN                   # SIZE IS INVALID                         #
        BEGIN 
        DB$NO;
        END 
  
      IF FILECLAUSE EQ DFQUICK
      THEN                   # QRF SIZE                                #
        BEGIN 
        EXQRFSZ[ENTRYCOUNT] = TEMPSIZE; 
        END 
      ELSE                   # JLF SIZE                                #
        BEGIN 
        EXJLSZ[ENTRYCOUNT] = TEMPSIZE;
        END 
  
      DB$YES; 
  
      END 
      TERM
