home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!wupost!sdd.hp.com!swrinde!elroy.jpl.nasa.gov!decwrl!decwrl!infopiz!mccall!ipmdf-newsgate!list
- From: dan@innosoft.com (Daniel C. Newman)
- Newsgroups: vmsnet.mail.pmdf
- Subject: RE: Help: Any status returned by $ PMDF SEND command in 4.1?
- Message-ID: <01GO3W16V7CY9FM76B@INNOSOFT.COM>
- Date: 28 Aug 92 14:58:40 GMT
- Organization: The Internet
- Lines: 62
- Return-Path: <epmdf@YMIR.CLAREMONT.EDU>
- Resent-Date: 28 Aug 1992 07:58:40 -0700 (PDT)
- Resent-From: epmdf@YMIR.CLAREMONT.EDU
- Errors-To: epmdf@YMIR.CLAREMONT.EDU
- Resent-Message-ID: <01GO3W27U27695OJ77@YMIR.CLAREMONT.EDU>
- X-Vms-To: IN%"DMPM%DUKEMC.BITNET@ymir.claremont.edu"
- X-Vms-Cc: IPMDF
- Mime-Version: 1.0
- Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
- Content-Transfer-Encoding: 7BIT
-
- > I would like to use PMDF SEND command under program control, but
- > cannot find any sort of return status on failure (except for the text message).
- > Is there anything like deliver_status and deliver$message in this facility?
- > Even upon failure (such as bad address) $status is 1.
- > This is a much needed feature.
-
- At present, PMDF SEND calls LIB$SIGNAL when an error is detected. This call
- is made only in one place and it should be pretty straightforward or you to
- change the following code chunk
-
- (* Call PMDF SEND *)
- item_list_adr::unsigned := iaddress (item_list);
- i := pmdf_send (item_list_adr);
- if not odd (i) then LIB$SIGNAL (i);
-
- to
-
- (* Call PMDF SEND *)
- item_list_adr::unsigned := iaddress (item_list);
- i := pmdf_send (item_list_adr);
- if not odd (i) then $EXIT (i);
-
- I have not made this change to PMDF (i.e., this is not a patch which everyone
- should apply). I'll leave the final decision to Ned as it was originally his
- decision to use LIB$SIGNAL in PMDF SEND and he may have had a reason for that
- choice.
-
- Dan
-
- ------------------------------------------
-
- P.S. Here's a better way to implement the change
-
- (* Call PMDF SEND *)
- item_list_adr::unsigned := iaddress (item_list);
- i := pmdf_send (item_list_adr);
-
- (* Dispose of the To: address list *)
- while address_list <> nil do begin
- tmpaddr := address_list^.link;
- dispose (address_list);
- address_list := tmpaddr;
- end; (* while *)
-
- (* Dispose of the extra header list *)
- while header_list <> nil do begin
- tmphdr := header_list^.link;
- dispose (header_list);
- header_list := tmphdr;
- end; (* while *)
-
- (* Dispose of the file list *)
- while file_list <> nil do begin
- tmpfile := file_list^.link;
- dispose (file_list);
- file_list := tmpfile;
- end; (* while *)
-
- (* Now exit *)
- $EXIT (i);
-
- end. (* send *)
-