FreeCalypso > hg > fc-pcsc-tools
comparison simtool/writecmd.c @ 204:a462012c9e67
fc-simtool: update-rec-fill command implemented
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Sun, 07 Mar 2021 04:48:37 +0000 |
| parents | 647267e39c21 |
| children | f1cf569dbba3 |
comparison
equal
deleted
inserted
replaced
| 203:647267e39c21 | 204:a462012c9e67 |
|---|---|
| 98 fprintf(stderr, "error: hex data length != EF record length\n"); | 98 fprintf(stderr, "error: hex data length != EF record length\n"); |
| 99 return(-1); | 99 return(-1); |
| 100 } | 100 } |
| 101 return update_rec_op(recno, mode, data, curfile_record_len); | 101 return update_rec_op(recno, mode, data, curfile_record_len); |
| 102 } | 102 } |
| 103 | |
| 104 cmd_update_rec_fill(argc, argv) | |
| 105 char **argv; | |
| 106 { | |
| 107 unsigned recno, mode, fill_byte; | |
| 108 u_char data[255]; | |
| 109 | |
| 110 if (!strcmp(argv[1], "prev")) { | |
| 111 recno = 0; | |
| 112 mode = 0x03; | |
| 113 } else { | |
| 114 recno = strtoul(argv[1], 0, 0); | |
| 115 if (recno < 1 || recno > 255) { | |
| 116 fprintf(stderr, | |
| 117 "error: record number argument is out of range\n"); | |
| 118 return(-1); | |
| 119 } | |
| 120 mode = 0x04; | |
| 121 } | |
| 122 fill_byte = strtoul(argv[2], 0, 0); | |
| 123 if (fill_byte > 0xFF) { | |
| 124 fprintf(stderr, "error: invalid fill byte argument\n"); | |
| 125 return(-1); | |
| 126 } | |
| 127 memset(data, fill_byte, curfile_record_len); | |
| 128 return update_rec_op(recno, mode, data, curfile_record_len); | |
| 129 } |
