project BLF > class Mail > method SendMessage

Description

Send the message that is represented by vmMessage.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method Mail.ReadHandler


program code (program1/mail.p)

ASSIGN viStep   = 6
       viLength = 1.
DO viNumber = 1 TO extent(vmMessage):
    IF GET-SIZE(vmMessage[viNumber]) > 0
    THEN ASSIGN viLast   = viNumber
                viLength = viLength + GET-SIZE(vmMessage[viNumber]) - 1.
END.
ASSIGN viCnt = 1.
set-size(vmMail) = 0.
SET-SIZE(vmMail) = viLength.
DO viNumber = 1 TO viLast :
    IF GET-SIZE(vmMessage[viNumber]) > 0
    then do:
        PUT-BYTES(vmMail,viCnt) = vmMessage[viNumber].
        ASSIGN viCnt = viCnt + GET-SIZE(vmMessage[viNumber]) - 1.
        SET-SIZE(vmMessage[viNumber]) = 0.
    end.
END.
if vhSocket:WRITE(vmMail, 1, GET-SIZE(vmMail) - 1)
then oiReturnstatus = 0.
else oiReturnstatus = -98.

finally:
    SET-SIZE(vmMail) = 0.
end finally.