From: LEVITTE@e.kth.se (Richard Levitte)
Newsgroups: comp.os.vms
Subject: BUG in PAKMAIL which comes with VMS_SHARE 8.1
Date: 28 Dec 92 13:58:41 GMT
Organization: Department of TeleTransmission Theory

when the parts are more than 9, the first nine of them are not found, because
PAKMAIL looks for FOO.1-OF-30 (say), instead of FOO.01-OF-30.

Patch:
*** public:[vms_share]pakmail.com
--- pakmail.com
**************
*** 69,74
  $ read/prompt="_Enter number of parts "/end=exit sys$command P3
  $ goto get_parts
  $end_get_parts:
  $
  $
  $! SET UP USEFUL SYMBOLS
--- 69,75 -----
  $ read/prompt="_Enter number of parts "/end=exit sys$command P3
  $ goto get_parts
  $end_get_parts:
+ $ p3 = f$integer(p3)
  $
  $! SET UP USEFUL SYMBOLS
  $ em="write sys$error ""%" +f$parse(f$environment("PROCEDURE"),,,"NAME")+""","
**************
*** 70,76
  $ goto get_parts
  $end_get_parts:
  $
- $
  $! SET UP USEFUL SYMBOLS
  $ em="write sys$error ""%" +f$parse(f$environment("PROCEDURE"),,,"NAME")+""","
  $ package = f$parse(P2,,,"NAME")
--- 71,76 -----
  $end_get_parts:
  $ p3 = f$integer(p3)
  $
  $! SET UP USEFUL SYMBOLS
  $ em="write sys$error ""%" +f$parse(f$environment("PROCEDURE"),,,"NAME")+""","
  $ package = f$parse(P2,,,"NAME")
**************
*** 74,80
  $! SET UP USEFUL SYMBOLS
  $ em="write sys$error ""%" +f$parse(f$environment("PROCEDURE"),,,"NAME")+""","
  $ package = f$parse(P2,,,"NAME")
! $ l = f$length(P3)
  $
  $
  $! IS THERE A SET OF FILES THAT MATCHES THE SPECIFICATION??
--- 74,81 -----
  $! SET UP USEFUL SYMBOLS
  $ em="write sys$error ""%" +f$parse(f$environment("PROCEDURE"),,,"NAME")+""","
  $ package = f$parse(P2,,,"NAME")
! $ l = f$length(f$string(P3))
! $ format2 = "!AS!#ZL-OF-!#ZL"		! Snarfed from VMS_SHARE 8.1
  $
  $
  $! IS THERE A SET OF FILES THAT MATCHES THE SPECIFICATION??
**************
*** 87,93
  $check:
  $   part = part+1
  $   if part .gt. P3 then $ goto end_check
! $   if f$search("''P2'''part'-OF-''P3'") .nes. "" then $ goto check
  $   em "-E-NOPART, Part ''part' of ''package' is missing!"
  $   OK = "FALSE"
  $   goto check
--- 88,95 -----
  $check:
  $   part = part+1
  $   if part .gt. P3 then $ goto end_check
! $   partname = f$fao(format2,p2,L,part,L,p3)
! $   if f$search(partname) .nes. "" then $ goto check
  $   em "-E-NOPART, Part ''part' of ''package' is missing!"
  $   OK = "FALSE"
  $   goto check
**************
*** 103,109
  $loop:
  $   part = part+1
  $   if part .gt. P3 then $ exit ss$_normal
- $   n = f$fao("!#ZL",l,part)
  $   em "-I-SENDPART, sending part ", part, " of ", package
  $   file = P2 + "''part'" + "-OF-" + P3
  $   subj = f$parse(file,,,"NAME") + f$parse(file,,,"TYPE") + "  " + P4
--- 105,110 -----
  $loop:
  $   part = part+1
  $   if part .gt. P3 then $ exit ss$_normal
  $   em "-I-SENDPART, sending part ", part, " of ", package
  $   file = f$fao(format2,P2,l,part,l,P3)
  $   subj = f$parse(file,,,"NAME") + f$parse(file,,,"TYPE") + "  " + P4
**************
*** 105,111
  $   if part .gt. P3 then $ exit ss$_normal
  $   n = f$fao("!#ZL",l,part)
  $   em "-I-SENDPART, sending part ", part, " of ", package
! $   file = P2 + "''part'" + "-OF-" + P3
  $   subj = f$parse(file,,,"NAME") + f$parse(file,,,"TYPE") + "  " + P4
  $   mail/noedit/noself/subject=&subj 'file' 'P1'
  $   if $status then $ goto loop
--- 106,112 -----
  $   part = part+1
  $   if part .gt. P3 then $ exit ss$_normal
  $   em "-I-SENDPART, sending part ", part, " of ", package
! $   file = f$fao(format2,P2,l,part,l,P3)
  $   subj = f$parse(file,,,"NAME") + f$parse(file,,,"TYPE") + "  " + P4
  $   mail/noedit/noself/subject=&subj 'file' 'P1'
  $   if $status then $ goto loop
--
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++!
! Richard Levitte, VMS GNU Emacs hacker   ! tel: int+46-8-18 30 99            !
! Sulv"agen 57, II                        ! fax: none for the moment          !
! S-126 40 H"agersten                     ! Internet: levitte@e.kth.se        !
! SWEDEN                                  !                                   !
!-----------------------------------------------------------------------------!