*DECK DB$ARRN 
USETEXT CDCSCTX 
      PROC DB$ARRN(AFIT); 
      BEGIN 
 #
* *   DB$ARRN - RETURN A DB AREA                 PAGE  1
* *   J E ESLER                                  DATE  08/30/76 
* 
* DC  PURPOSE 
* 
*     RETURN A DATABASE AREA AND OPTIONAL INDEX FILE. 
*     UNLOAD THE HASHING DB PROCEDURE IF ONE WAS LOADED.
* 
* DC  ENTRY CONDITIONS
* 
*     AFIT = FIT FOR THE AREA BEING RETURNED. 
*     APLX = DBP ORDINAL OF DA HASHING DBP
* 
* DC  EXIT CONDITIONS 
* 
*     AREA IS RETURNED. 
* 
  
* DC  CALLING ROUTINES
  
*     DB$RUPD - RECOVERY/RESTORE DATABASE UPDATE ROUTINE
* DC  CALLED ROUTINES 
# 
      XREF PROC DB$DBPU;           #UNLOAD A DB PROC# 
      XREF PROC DB$RTN;            #RETURN A FILE TO SYSTEM#
# 
* DC  NON-LOCAL VARIABLES 
* 
*     CDCS COMMON 
 #
      CONTROL NOLIST; 
      CONTROL LIST; 
# 
*     LOCAL VARIABLES 
# 
      ARRAY AFIT [DFFITSIZE] S; 
        BEGIN 
        ITEM AFITLFN U(0,0,42);    #FILE NAME#
        ITEM AFITXN  U(21,0,42);   #INDEX FILE LFN# 
        END 
 #
* DC  DESCRIPTION 
*     RETURN THE FILE AND ITS OPTIONAL INDEX. 
 #
      DB$RTN(AFITLFN[0]); 
      IF AFITXN[0] NQ 0 THEN
        DB$RTN(AFITXN[0]);
 #
*     UNLOAD THE HASHING DB PROCEDURE IF ONE WAS LOADED.
 #
      IF APLX NQ 0 THEN 
        DB$DBPU(APWORD0[0],LOC(APDBPNAM[APLX]));
      APLX = 0; 
      END 
      TERM
