4 .HLL 'Tcl', 'tcl_group'
8 .param pmc argv :slurpy
13 unless $I3 goto no_args
15 .local string subcommand_name
16 subcommand_name = shift argv
19 options = new 'ResizablePMCArray'
20 push options, 'convertfrom'
21 push options, 'convertto'
24 push options, 'system'
26 .local pmc select_option
27 select_option = get_root_global ['_tcl'], 'select_option'
28 .local string canonical_subcommand
29 canonical_subcommand = select_option(options, subcommand_name)
31 .local pmc subcommand_proc
34 subcommand_proc = get_root_global ['_tcl'; 'helpers'; 'encoding'], canonical_subcommand
35 if_null subcommand_proc, bad_args
36 .return subcommand_proc(argv)
39 .return ('') # once all commands are implemented, remove this...
42 tcl_error 'wrong # args: should be "encoding option ?arg ...?"'
48 .namespace [ 'helpers'; 'encoding' ]
56 if argc == 0 goto bad_args
57 if argc > 2 goto bad_args
62 tcl_error 'wrong # args: should be "encoding convertfrom ?encoding? data"'
71 if argc == 0 goto bad_args
72 if argc > 2 goto bad_args
77 tcl_error 'wrong # args: should be "encoding convertto ?encoding? data"'
86 if argc > 1 goto bad_args
91 tcl_error 'wrong # args: should be "encoding dirs ?directoryList?"'
100 if argc != 0 goto bad_args
105 tcl_error 'wrong # args: should be "encoding names"'
114 if argc > 1 goto bad_args
119 tcl_error 'wrong # args: should be "encoding system ?encoding?"'
126 # vim: expandtab shiftwidth=4 ft=pir: