;
; XMK (in) the basket # the message is currently in. (May be 0 if
; the message isn't currently in a basket.)
; XMKN (in) the name of basket XMK
; XMKTO (out) the basket # this routine decides to put the message in
; XMKNTO (out) the name of basket XMKTO
; This routine decides which basket the message belongs in.
; If this is the same basket it is currently in, it sets XMKTO and
; XMKNTO to the current basket.
; Otherwise, it moves the message (from the current basket) to the
; decided-upon basket and sets XMKTO and XMKNTO to that basket.
; If the message is in the WASTE basket, and no filters are defined,
; it will be moved to the IN basket.
MOVEIT(XMDUZ,XMK,XMZ,XMKTO,XMCNT)
;
XTERM
;
NTOGL(XMDUZ,XMK,XMKN,XMZ,XMCNT,XMKTO,XMKNTO)
;
PUTMSG(XMDUZ,XMK,XMKN,XMZ)
; For internal MM use only.
; Replaces SETSB^XMA1C, SET^XMS1, & part of MAIL^XMR0B
; Put a msg in the Postmaster's (or anyone else's) basket.
; The msg is NOT made new.
; The basket has a specific name and number.
; If the basket doesn't exist, create it.
; XMK Basket number
; XMKN Basket name
; XMZ Msg number
MOVE(XMDUZ,XMK,XMZ,XMKTO,XMCNT)
;
RESURECT(XMDUZ,XMZ)
; If msg was terminated, "unterminate" it.
TERM(XMDUZ,XMK,XMZ,XMCNT)
;
PTRY
XDEL
;
XVAPOR
;
WTRY
COPYIT(XMDUZ,XMK,XMZ,XMKTO,XMCNT)
;
XNTOGL
;
; If XMK>.5, then it's simple. Just toggle the 'new' flag.
; If XMK<1, we know the message is not new, and we need to make it new.
; Filter it, but if it filters to the WASTE basket put it in the IN.
; Then make it new.