$DEBUG PAGEWIDTH(80) PAGELENGTH(50) /****************************************************/ /* */ /* MODULE NAME - M$APPEND$S */ /* */ /* FUNCTION - CONTAINES 'APPEND$S' PROCEDURE */ /* */ /****************************************************/ M$APPEND$S: DO; $NOLIST $INCLUDE(COMMON.DCL) $LIST $INCLUDE(STRING.DCL) $EJECT /****************************************************/ /* */ /* PROCEDURE NAME - APPEND$S */ /* */ /* FUNCTION - APPEND SOURCE STRING TO DESTINATION */ /* STRING. SEE ABOVE DECLARATION FOR */ /* STRING DESCRIPTION. */ /* NOTE : IF, AS A RESULT OF THE */ /* OPERATION, DEST. STRING'S LENGTH */ /* ATTEMPTS TO BE GREATER THAN ITS */ /* MAXIMUM LENGTH, DEST. STRING IS */ /* CONCATANATED. */ /* */ /* INPUT - DST$P : ADDRESS, POINTER TO DESTINATION */ /* STRING. */ /* SRC$P : ADDRESS, POINTER TO SOURCE */ /* STRING. */ /* */ /* OUTPUT - DESTINATION STRING, POINTED TO BY */ /* DST$P. */ /* */ /* LAST UPDATED - 4.4.82 DROR */ /* */ /****************************************************/ APPEND$S: PROCEDURE(DST$P,SRC$P) PUBLIC; DECLARE DST$P ADDRESS, SRC$P ADDRESS; DECLARE (DST BASED DST$P) STRING, (SRC BASED SRC$P) STRING; DECLARE SRC$I BYTE; /* INDEX TO SOURCE */ SRC$I=0; DO WHILE ((SRC$I < SRC.L) AND (DST.L < DST.ML)); DST.D(DST.L)=SRC.D(SRC$I); SRC$I=SRC$I+1; DST.L=DST.L+1; END; DST.D(DST.L)=0; END APPEND$S; END M$APPEND$S;