home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.os.vms      DEC's VAX* line of computers & VMS.      264,096 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 262,809 of 264,096   
   =?UTF-8?Q?Arne_Vajh=C3=B8j?= to All   
   Re: VMS x86-64 database server   
   09 Jul 25 13:39:41   
   
   From: arne@vajhoej.dk   
      
   On 7/9/2025 12:51 PM, hb0815 wrote:   
   > On 7/9/25 16:13, Arne Vajhøj wrote:   
   > ...   
   >> $ duo 1.txt/q,2.txt,3.txt/q   
   >> Q=notpresent   
   >> 1.txt Q=present   
   >> 2.txt Q=notpresent   
   >> 3.txt Q=present   
   >> $ duo/q 1.txt/q,2.txt,3.txt/q   
   >> Q=present   
   >> 1.txt Q=present   
   >> 2.txt Q=present   
   >> 3.txt Q=present   
   >>   
   >> Where:   
   >>    2.txt Q=present   
   >> is not what was intended.   
   >   
   > If you look at the return code and not only check for success, you get   
   > the information that a qualifier is global or local With a small C   
   > program, I get   
   >   
   > $ duo/q 1.txt/q,2.txt,3.txt/q   
   > Q=global   
   > 1.txt:Q=local   
   > 2.txt:Q=global   
   > 3.txt:Q=local   
      
   Ah. There is a way. Not using path but via return status.   
      
   $ type duo.cld   
   define verb duo   
        image "sys$disk:[]duo"   
        parameter p1, value(type=$file, list, required)   
   qualifier q, placement=positional   
   $ type duo.pas   
   [inherit('sys$library:pascal$cli_routines','sys$library:starlet')]   
   program duo(input,output);   
      
   type   
       pstr = varying [255] of char;   
      
   var   
       fnm, a, b : pstr;   
      
   begin   
       if cli$present('Q') = CLI$_PRESENT then begin   
          writeln('Q=present')   
       end else begin   
          writeln('Q=notpresent')   
       end;   
       while odd(cli$get_value('P1', fnm.body, fnm.length)) do begin   
          write(fnm);   
          if cli$present('Q') = CLI$_LOCPRES then begin   
             write(' Q=present')   
          end else begin   
             write(' Q=notpresent')   
          end;   
          writeln;   
       end;   
   end.   
   $ set command duo   
   $ pas duo   
   $ link duo   
   $ duo 1.txt/q,2.txt,3.txt/q   
   Q=notpresent   
   1.txt Q=present   
   2.txt Q=notpresent   
   3.txt Q=present   
   $ duo/q 1.txt/q,2.txt,3.txt/q   
   Q=present   
   1.txt Q=present   
   2.txt Q=notpresent   
   3.txt Q=present   
      
   I am still not keen on the approach of the same   
   qualifier having different meaning for verb and   
   parameters though.   
      
   Arne   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca