FreeCalypso > hg > freecalypso-hwlab
comparison simtool/dispatch.c @ 109:4aaf722ab933
fc-simtool: update-bin-imm command implemented
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Tue, 26 Jan 2021 01:27:58 +0000 |
| parents | 6f80cfdc7e05 |
| children | 5bfb5a7262c1 |
comparison
equal
deleted
inserted
replaced
| 108:6f80cfdc7e05 | 109:4aaf722ab933 |
|---|---|
| 26 extern int cmd_select(); | 26 extern int cmd_select(); |
| 27 extern int cmd_spn(); | 27 extern int cmd_spn(); |
| 28 extern int cmd_telecom_sum(); | 28 extern int cmd_telecom_sum(); |
| 29 extern int cmd_unblock_chv(); | 29 extern int cmd_unblock_chv(); |
| 30 extern int cmd_update_bin(); | 30 extern int cmd_update_bin(); |
| 31 extern int cmd_update_bin_imm(); | |
| 31 extern int cmd_update_rec(); | 32 extern int cmd_update_rec(); |
| 32 extern int cmd_verify_chv(); | 33 extern int cmd_verify_chv(); |
| 33 | 34 |
| 34 extern int display_sim_resp_in_hex(); | 35 extern int display_sim_resp_in_hex(); |
| 35 | 36 |
| 71 {"unblock-chv1", 2, 2, cmd_unblock_chv}, | 72 {"unblock-chv1", 2, 2, cmd_unblock_chv}, |
| 72 {"unblock-chv2", 2, 2, cmd_unblock_chv}, | 73 {"unblock-chv2", 2, 2, cmd_unblock_chv}, |
| 73 {"unblock-pin1", 2, 2, cmd_unblock_chv}, | 74 {"unblock-pin1", 2, 2, cmd_unblock_chv}, |
| 74 {"unblock-pin2", 2, 2, cmd_unblock_chv}, | 75 {"unblock-pin2", 2, 2, cmd_unblock_chv}, |
| 75 {"update-bin", 2, 2, cmd_update_bin}, | 76 {"update-bin", 2, 2, cmd_update_bin}, |
| 77 {"update-bin-imm", 2, 2, cmd_update_bin_imm}, | |
| 76 {"update-rec", 2, 2, cmd_update_rec}, | 78 {"update-rec", 2, 2, cmd_update_rec}, |
| 77 {"verify-chv1", 1, 1, cmd_verify_chv}, | 79 {"verify-chv1", 1, 1, cmd_verify_chv}, |
| 78 {"verify-chv2", 1, 1, cmd_verify_chv}, | 80 {"verify-chv2", 1, 1, cmd_verify_chv}, |
| 79 {"verify-pin1", 1, 1, cmd_verify_chv}, | 81 {"verify-pin1", 1, 1, cmd_verify_chv}, |
| 80 {"verify-pin2", 1, 1, cmd_verify_chv}, | 82 {"verify-pin2", 1, 1, cmd_verify_chv}, |
| 111 break; | 113 break; |
| 112 if (ap - argv - 1 >= tp->maxargs) { | 114 if (ap - argv - 1 >= tp->maxargs) { |
| 113 fprintf(stderr, "error: too many arguments\n"); | 115 fprintf(stderr, "error: too many arguments\n"); |
| 114 return(-1); | 116 return(-1); |
| 115 } | 117 } |
| 116 *ap++ = cp; | 118 if (*cp == '"') { |
| 117 while (*cp && !isspace(*cp)) | 119 *ap++ = ++cp; |
| 118 cp++; | 120 while (*cp && *cp != '"') |
| 119 if (*cp) | 121 cp++; |
| 122 if (*cp != '"') { | |
| 123 fprintf(stderr, | |
| 124 "error: unterminated quoted string\n"); | |
| 125 return(-1); | |
| 126 } | |
| 120 *cp++ = '\0'; | 127 *cp++ = '\0'; |
| 128 } else { | |
| 129 *ap++ = cp; | |
| 130 while (*cp && !isspace(*cp)) | |
| 131 cp++; | |
| 132 if (*cp) | |
| 133 *cp++ = '\0'; | |
| 134 } | |
| 121 } | 135 } |
| 122 if (ap - argv - 1 < tp->minargs) { | 136 if (ap - argv - 1 < tp->minargs) { |
| 123 fprintf(stderr, "error: too few arguments\n"); | 137 fprintf(stderr, "error: too few arguments\n"); |
| 124 return(-1); | 138 return(-1); |
| 125 } | 139 } |
