comparison simtool/writecmd.c @ 203:647267e39c21

fc-simtool update-rec-imm command implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 07 Mar 2021 04:11:28 +0000
parents 3f6f50103dd3
children a462012c9e67
comparison
equal deleted inserted replaced
202:3f6f50103dd3 203:647267e39c21
69 fprintf(stderr, "error: hex data length != EF record length\n"); 69 fprintf(stderr, "error: hex data length != EF record length\n");
70 return(-1); 70 return(-1);
71 } 71 }
72 return update_rec_op(recno, mode, data, curfile_record_len); 72 return update_rec_op(recno, mode, data, curfile_record_len);
73 } 73 }
74
75 cmd_update_rec_imm(argc, argv)
76 char **argv;
77 {
78 unsigned recno, mode;
79 u_char data[255];
80 int rc;
81
82 if (!strcmp(argv[1], "prev")) {
83 recno = 0;
84 mode = 0x03;
85 } else {
86 recno = strtoul(argv[1], 0, 0);
87 if (recno < 1 || recno > 255) {
88 fprintf(stderr,
89 "error: record number argument is out of range\n");
90 return(-1);
91 }
92 mode = 0x04;
93 }
94 rc = decode_hex_data_from_string(argv[2], data, 1, 255);
95 if (rc < 0)
96 return(rc);
97 if (rc != curfile_record_len) {
98 fprintf(stderr, "error: hex data length != EF record length\n");
99 return(-1);
100 }
101 return update_rec_op(recno, mode, data, curfile_record_len);
102 }