FreeCalypso > hg > freecalypso-hwlab
annotate uicc/dispatch.c @ 142:74c5dc7408e9
uicc/Makefile: add install
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 04 Feb 2021 05:06:28 +0000 | 
| parents | 062141ce5755 | 
| children | 429a8f80426e | 
| rev | line source | 
|---|---|
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This module implements the command dispatch for fc-uicc-tool | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 */ | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 #include <ctype.h> | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <stdio.h> | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <string.h> | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <strings.h> | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <stdlib.h> | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | 
| 137 
c331560c15a4
fc-uicc-tool: dir command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
136diff
changeset | 11 extern int cmd_dir(); | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 extern int cmd_exec(); | 
| 134 
69628bcfec17
fc-uicc-tool: iccid command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
133diff
changeset | 13 extern int cmd_iccid(); | 
| 136 
a21d348e01db
fc-uicc-tool: pb-dump command ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: 
135diff
changeset | 14 extern int cmd_pb_dump(); | 
| 
a21d348e01db
fc-uicc-tool: pb-dump command ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: 
135diff
changeset | 15 extern int cmd_pb_dump_rec(); | 
| 133 
f3bdefbeae38
fc-uicc-tool: readbin and readrec commands implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
130diff
changeset | 16 extern int cmd_readbin(); | 
| 
f3bdefbeae38
fc-uicc-tool: readbin and readrec commands implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
130diff
changeset | 17 extern int cmd_readrec(); | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 extern int cmd_select(); | 
| 138 
baf5bd698764
fc-uicc-tool: select-aid command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
137diff
changeset | 19 extern int cmd_select_aid(); | 
| 139 
6c6e8705dc70
fc-uicc-tool: select-usim and select-isim implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
138diff
changeset | 20 extern int cmd_select_isim(); | 
| 
6c6e8705dc70
fc-uicc-tool: select-usim and select-isim implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
138diff
changeset | 21 extern int cmd_select_usim(); | 
| 135 
51d6aaa43a7b
fc-uicc-tool: telecom-sum command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
134diff
changeset | 22 extern int cmd_telecom_sum(); | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 extern int display_sim_resp_in_hex(); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 extern int good_exit(); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 static struct cmdtab { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 char *cmd; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 int minargs; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 int maxargs; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 int (*func)(); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 } cmdtab[] = { | 
| 137 
c331560c15a4
fc-uicc-tool: dir command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
136diff
changeset | 33 {"dir", 0, 0, cmd_dir}, | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 {"exec", 1, 1, cmd_exec}, | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 {"exit", 0, 0, good_exit}, | 
| 134 
69628bcfec17
fc-uicc-tool: iccid command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
133diff
changeset | 36 {"iccid", 0, 0, cmd_iccid}, | 
| 136 
a21d348e01db
fc-uicc-tool: pb-dump command ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: 
135diff
changeset | 37 {"pb-dump", 1, 2, cmd_pb_dump}, | 
| 
a21d348e01db
fc-uicc-tool: pb-dump command ported over
 Mychaela Falconia <falcon@freecalypso.org> parents: 
135diff
changeset | 38 {"pb-dump-rec", 2, 3, cmd_pb_dump_rec}, | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 {"quit", 0, 0, good_exit}, | 
| 133 
f3bdefbeae38
fc-uicc-tool: readbin and readrec commands implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
130diff
changeset | 40 {"readbin", 2, 2, cmd_readbin}, | 
| 
f3bdefbeae38
fc-uicc-tool: readbin and readrec commands implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
130diff
changeset | 41 {"readrec", 2, 2, cmd_readrec}, | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 {"select", 1, 1, cmd_select}, | 
| 138 
baf5bd698764
fc-uicc-tool: select-aid command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
137diff
changeset | 43 {"select-aid", 1, 1, cmd_select_aid}, | 
| 140 
062141ce5755
fc-uicc-tool: select-[ui]sim: command dispatch bugfix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
139diff
changeset | 44 {"select-isim", 0, 0, cmd_select_isim}, | 
| 
062141ce5755
fc-uicc-tool: select-[ui]sim: command dispatch bugfix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
139diff
changeset | 45 {"select-usim", 0, 0, cmd_select_usim}, | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 {"sim-resp", 0, 0, display_sim_resp_in_hex}, | 
| 135 
51d6aaa43a7b
fc-uicc-tool: telecom-sum command implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
134diff
changeset | 47 {"telecom-sum", 0, 0, cmd_telecom_sum}, | 
| 130 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 {0, 0, 0, 0} | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 }; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 simtool_dispatch_cmd(cmd, is_script) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 char *cmd; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 char *argv[10]; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 char *cp, **ap; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 struct cmdtab *tp; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 for (cp = cmd; isspace(*cp); cp++) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 ; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 if (!*cp || *cp == '#') | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 return(0); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 if (is_script) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 printf("Script command: %s\n", cp); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 argv[0] = cp; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 while (*cp && !isspace(*cp)) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 cp++; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 if (*cp) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 *cp++ = '\0'; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 for (tp = cmdtab; tp->cmd; tp++) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 if (!strcmp(tp->cmd, argv[0])) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 break; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 if (!tp->func) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 fprintf(stderr, "error: no such command\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 for (ap = argv + 1; ; ) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 while (isspace(*cp)) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 cp++; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 if (!*cp || *cp == '#') | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 break; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 if (ap - argv - 1 >= tp->maxargs) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 fprintf(stderr, "error: too many arguments\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 if (*cp == '"') { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 *ap++ = ++cp; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 for (;;) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 if (!*cp) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 unterm_qstring: fprintf(stderr, | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 "error: unterminated quoted string\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 if (*cp == '"') | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 break; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 if (*cp++ == '\\') { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 if (!*cp) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 goto unterm_qstring; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 cp++; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 *cp++ = '\0'; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 } else { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 *ap++ = cp; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 while (*cp && !isspace(*cp)) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 cp++; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 if (*cp) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 *cp++ = '\0'; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 if (ap - argv - 1 < tp->minargs) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 fprintf(stderr, "error: too few arguments\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 *ap = 0; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 return tp->func(ap - argv, argv); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 dispatch_ready_argv(argc, argv) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 char **argv; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 struct cmdtab *tp; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 for (tp = cmdtab; tp->cmd; tp++) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 if (!strcmp(tp->cmd, argv[0])) | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 break; | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 if (!tp->func) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 fprintf(stderr, "error: no such command\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 if (argc - 1 > tp->maxargs) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 fprintf(stderr, "error: too many arguments\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 if (argc - 1 < tp->minargs) { | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 fprintf(stderr, "error: too few arguments\n"); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 return(-1); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 } | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 return tp->func(argc, argv); | 
| 
f691a19f191d
fc-uicc-tool skeleton started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 } | 
