home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / vmsnet / mail / pmdf / 2200 < prev    next >
Encoding:
Internet Message Format  |  1992-09-03  |  2.5 KB

  1. Path: sparky!uunet!wupost!sdd.hp.com!swrinde!elroy.jpl.nasa.gov!decwrl!decwrl!infopiz!mccall!ipmdf-newsgate!list
  2. From: dan@innosoft.com (Daniel C. Newman)
  3. Newsgroups: vmsnet.mail.pmdf
  4. Subject: RE: Help:  Any status returned by $ PMDF SEND command in 4.1?
  5. Message-ID: <01GO3W16V7CY9FM76B@INNOSOFT.COM>
  6. Date: 28 Aug 92 14:58:40 GMT
  7. Organization: The Internet
  8. Lines: 62
  9. Return-Path: <epmdf@YMIR.CLAREMONT.EDU>
  10. Resent-Date: 28 Aug 1992 07:58:40 -0700 (PDT)
  11. Resent-From: epmdf@YMIR.CLAREMONT.EDU
  12. Errors-To: epmdf@YMIR.CLAREMONT.EDU
  13. Resent-Message-ID: <01GO3W27U27695OJ77@YMIR.CLAREMONT.EDU>
  14. X-Vms-To: IN%"DMPM%DUKEMC.BITNET@ymir.claremont.edu"
  15. X-Vms-Cc: IPMDF
  16. Mime-Version: 1.0
  17. Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
  18. Content-Transfer-Encoding: 7BIT
  19.  
  20. > I would like to use PMDF SEND command under program control, but
  21. > cannot find any sort of return status on failure (except for the text message).
  22. > Is there anything like deliver_status and deliver$message in this facility?
  23. > Even upon failure (such as bad address) $status is 1.
  24. > This is a much needed feature.
  25.  
  26. At present, PMDF SEND calls LIB$SIGNAL when an error is detected.  This call
  27. is made only in one place and it should be pretty straightforward or you to
  28. change the following code chunk
  29.  
  30.   (* Call PMDF SEND *)
  31.   item_list_adr::unsigned := iaddress (item_list);
  32.   i := pmdf_send (item_list_adr);
  33.   if not odd (i) then LIB$SIGNAL (i);
  34.  
  35. to
  36.  
  37.   (* Call PMDF SEND *)
  38.   item_list_adr::unsigned := iaddress (item_list);
  39.   i := pmdf_send (item_list_adr);
  40.   if not odd (i) then $EXIT (i);
  41.  
  42. I have not made this change to PMDF (i.e., this is not a patch which everyone
  43. should apply).  I'll leave the final decision to Ned as it was originally his
  44. decision to use LIB$SIGNAL in PMDF SEND and he may have had a reason for that
  45. choice.
  46.  
  47. Dan
  48.  
  49. ------------------------------------------
  50.  
  51. P.S. Here's a better way to implement the change
  52.  
  53.   (* Call PMDF SEND *)
  54.   item_list_adr::unsigned := iaddress (item_list);
  55.   i := pmdf_send (item_list_adr);
  56.  
  57.   (* Dispose of the To: address list *)
  58.   while address_list <> nil do begin
  59.     tmpaddr := address_list^.link;
  60.     dispose (address_list);
  61.     address_list := tmpaddr;
  62.   end; (* while *)
  63.  
  64.   (* Dispose of the extra header list *)
  65.   while header_list <> nil do begin
  66.     tmphdr := header_list^.link;
  67.     dispose (header_list);
  68.     header_list := tmphdr;
  69.   end; (* while *)
  70.  
  71.   (* Dispose of the file list *)
  72.   while file_list <> nil do begin
  73.     tmpfile := file_list^.link;
  74.     dispose (file_list);
  75.     file_list := tmpfile;
  76.   end; (* while *)
  77.  
  78.   (* Now exit *)
  79.   $EXIT (i);
  80.  
  81. end. (* send *)
  82.