slang-users mailing list

[2015 Date Index] [2015 Thread Index] [Other years]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]

Re: [slang-users] Re: cmdopt


Morten Bo Johansen <mbj@xxxxxxxxxxx> wrote:
> Did I misunderstand or wasn't the above supposed to print all
> the arguments to the "-b" switch? If I do
>
>  <script> -b a b c
>
> then with the above it should print "abc"? However, only the
> first argument is pushed onto the list so it prints only "a".

Switches do not support more than 1 argument.  I suggest that you try
something like:

   <script> -b a,b,c

The corresponding script is appended below.

I hope this helps.
Thanks,
--John

#!/usr/bin/env slsh

require ("cmdopt");

private define p (a)
{
   () = printf ("%s\n", a);
}

private define print_csv (csv)
{
   variable args = strchop (csv, ',', 0);
   p (strjoin (args));
}

define slsh_main ()
{
   variable c = cmdopt_new ();
   c.add ("a", &p; type="str");
   c.add ("b", &print_csv; type="str");

   variable i = cmdopt_process (c, __argv, 1);

   message ("Unhandled arguments:");
   while (i < __argc)
     {
	vmessage (" argv[%d] = %s", i, __argv[i]);
	i++;
     }
}


[2015 date index] [2015 thread index]
[Thread Prev] [Thread Next]      [Date Prev] [Date Next]