Functional VMS changes submitted by sms@antinode.info (Steven M. Schweda).
Thank you\!
(note: not tested for now, a few nightly builds should give indications though)
diff --git a/test/tverify.com b/test/tverify.com
index 021d701..2c5f25a 100644
--- a/test/tverify.com
+++ b/test/tverify.com
@@ -1,29 +1,63 @@
 $! TVERIFY.COM
 $
 $	__arch := VAX
-$	if f$getsyi("cpu") .ge. 128 then __arch := AXP
+$	if f$getsyi("cpu") .ge. 128 then -
+	   __arch := f$edit( f$getsyi( "ARCH_NAME"), "UPCASE")
+$	if __arch .eqs. "" then __arch := UNK
+$!
+$	line_max = 255 ! Could be longer on modern non-VAX.
+$	temp_file_name = "certs_"+ f$getjpi( "", "PID")+ ".tmp"
 $	exe_dir := sys$disk:[-.'__arch'.exe.apps]
-$
-$	copy/concatenate [-.certs]*.pem certs.tmp
-$
+$	cmd = "mcr ''exe_dir'openssl verify ""-CAfile"" ''temp_file_name'"
+$	cmd_len = f$length( cmd)
+$	pems = "[-.certs...]*.pem"
+$!
+$!	Concatenate all the certificate files.
+$!
+$	copy /concatenate 'pems' 'temp_file_name'
+$!
+$!	Loop through all the certificate files.
+$!
+$	args = ""
 $	old_f :=
-$ loop_certs:
-$	verify := NO
-$	more := YES
-$	certs :=
-$ loop_certs2:
-$	f = f$search("[-.certs]*.pem")
-$	if f .nes. "" .and. f .nes. old_f
+$ loop_file: 
+$	    f = f$search( pems)
+$	    if ((f .nes. "") .and. (f .nes. old_f))
+$	    then
+$	      old_f = f
+$!
+$!	      If this file name would over-extend the command line, then
+$!	      run the command now.
+$!
+$	      if (cmd_len+ f$length( args)+ 1+ f$length( f) .gt. line_max)
+$	      then
+$	         if (args .eqs. "") then goto disaster
+$	         'cmd''args'
+$	         args = ""
+$	      endif
+$!	      Add the next file to the argument list.
+$	      args = args+ " "+ f
+$	   else
+$!            No more files in the list
+$	      goto loop_file_end
+$	   endif
+$	goto loop_file
+$	loop_file_end:
+$!
+$!	Run the command for any left-over arguments.
+$!
+$	if (args .nes. "")
 $	then
-$	    certs = certs + " [-.certs]" + f$parse(f,,,"NAME") + ".pem"
-$	    verify := YES
-$	    if f$length(certs) .lt. 180 then goto loop_certs2
-$	else
-$	    more := NO
+$	   'cmd''args'
 $	endif
-$	certs = certs - " "
-$
-$	if verify then mcr 'exe_dir'openssl verify "-CAfile" certs.tmp 'certs'
-$	if more then goto loop_certs
-$
-$	delete certs.tmp;*
+$!
+$!	Delete the temporary file.
+$!
+$	if (f$search( "''temp_file_name';*") .nes. "") then -
+	 delete 'temp_file_name';*
+$!
+$	exit
+$!
+$	disaster:
+$	write sys$output "   Command line too long.  Doomed."
+$!