*DECK DB$CKLT                                                            CKLT 
USETEXT SCANTXT 
      FUNC DB$CKLT B;                                                    CKLT 
 #                                                                       CKLT 
  *   DB$CKLT - CHECK CURRENT WORD FOR LENGTH    PAGE  1                 CKLT 
  *             LQ 7 AND NO SPECIAL CHARACTERS
  *   J. JAN JANIK                               DATE  11/18/75          CKLT 
  
  DC  PURPOSE                                                            CKLT 
                                                                         CKLT 
      VERIFY THAT CURRENT WORD IS A PROPER LITERAL
                                                                         CKLT 
  DC  ENTRY CONDITIONS                                                   CKLT 
                                                                         CKLT 
      CURWORD - CONTAINS THE WORD TO BE TESTED.                          CKLT 
      DB$CLNG - LENGTH OF CURWORD IN CHAR                                CKLT 
                                                                         CKLT 
  DC  EXIT CONDITIONS                                                    CKLT 
                                                                         CKLT 
      RETURNS TRUE IF CURWORD LQ 7 CHAR AND CONTAINS NO SPECIAL CHARS.   CKLT 
      RETURNS FALSE OTHERWISE.                                           CKLT 
                                                                         CKLT 
  DC  CALLING ROUTINES                                                   CKLT 
                                                                         CKLT 
      DB$SR33 - VALIDATE AND STORE UN/ID
      DB$SR34 - VALIDATE AND STORE PASSWORD 
      DB$SR35 - VALIDATE AND STORE FAMILY/PACK/SET
                                                                         CKLT 
  DC  CALLED ROUTINES                                                    CKLT 
                                                                         CKLT 
      NONE                                                               CKLT 
                                                                         CKLT 
  DC  DESCRIPTION 
  
      IF THE LENGTH OF THE LITERAL IS GREATER THAN 7 CHARACTERS, RETURN 
      FALSE, OTHERWISE CHECK ALL THE CHARACTERS WITHIN THE LITERAL. IF
      ANY CHARACTER DOES NOT FALL IN THE RANGE A-9, RETURN FALSE, 
      OTHERWISE RETURN TRUE.
  
 #                                                                       CKLT 
      CONTROL EJECT;                                                     CKLT 
      BEGIN                                                              CKLT 
                                                                         CKLT 
                                                                         CKLT 
#     TEMPORARY ITEMS                                                  # CKLT 
      ITEM CHAR C(1);        # TEMPORARY STORAGE FOR CHARACTER TEST    # CKLT 
      ITEM I;                # INDEX FOR FOR LOOP                      # CKLT 
                                                                         CKLT 
                                                                         CKLT 
# START OF CODE FOR DB$CKLT                                            # CKLT 
      IF DB$CLNG LQ 7                                                    CKLT 
        THEN                                                             CKLT 
        BEGIN                                                            CKLT 
        FOR I = 0 STEP 1 UNTIL DB$CLNG-1 DO 
          BEGIN                                                          CKLT 
          CHAR = C<I,1> CURWORD [0];                                     CKLT 
          IF CHAR GQ "A" AND CHAR LQ "9"
            THEN                                                         CKLT 
              TEST I; 
                                                                         CKLT 
            ELSE                                                         CKLT 
            BEGIN            # BAD CHAR, RETURN FALSE                  # CKLT 
            DB$CKLT = FALSE;                                             CKLT 
            RETURN;                                                      CKLT 
                                                                         CKLT 
            END                                                          CKLT 
          END                                                            CKLT 
                                                                         CKLT 
        DB$CKLT = TRUE;                                                  CKLT 
        END                                                              CKLT 
                                                                         CKLT 
        ELSE  DB$CKLT = FALSE;  # TOO LONG                             # CKLT 
      RETURN;                                                            CKLT 
                                                                         CKLT 
      END                                                                CKLT 
      TERM                                                               CKLT 
