*DECK XCTLW USETEXT NIPDEF USETEXT NP$NWNC PROC XCTLW(WORD,TLW); #COMPUTE TEXT LENGTH IN WORDS # STARTIMS; # *1DC XCTLW * * 1. PROC NAME AUTHOR DATE * XCTLW P.C.TAM 80/02/12 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE COMPUTES THE TEXT LENGTH IN WORDS. * * 3. METHOD USED. * THE TEXT LENGTH IN WORDS IS COMPUTED FROM THE APPLICATION * CHARACTER TYPE AND THE TEXT LENGTH IN CHARACTERS. * * 4. ENTRY CONDITIONS. * ABHACT APPLICATION CHARACTER TYPE * ABHTLC APPLICATION TEXT LENGTH IN CHARACTERS * WORD APPLICATION BLOCK HEADER * * 5. EXIT CONDITIONS. * TLW TEXT LENGTH IN WORDS * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * HEADER NIPDEF NP$NWNC * * 7. ROUTINES CALLED. * XTRACE RECORD CALL * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * THIS PROCEDURE IS CALLED BY BDELINK, HPGET, HPPUT, * AND HPUTF. * # STOPIMS; ARRAY WORD [0:0] S(1); BEGIN *CALL HEADER END ITEM TLW, TMP; XREF BEGIN PROC XTRACE; END #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1; XTRACE("XCTLW") ; CONTROL FI; IF ABHABT[0] EQ APPNULL THEN # A NULL BLOCK TO BE DELIVERED TO THE APPLICATION # TLW = 0; ELSE # COMPUTE TLW FOR NON-NULL BLOCK # BEGIN TMP = ABHACT[0]; # CHARACTER TPYE OF BLOCK # TLW = (2*ABHTLC[0] + NW$ROUND[TMP])/NW$FACT[TMP]; END RETURN; END TERM