$! TVERIFY.COM $ $ __arch := VAX $ 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] $ 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_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 $ 'cmd''args' $ endif $! $! 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." $!