# HG changeset patch # User Mychaela Falconia # Date 1618109209 0 # Node ID 0c19ec7af5268db3db3af4d282d3e56e2a4339ea # Parent 3055d5c9e7a3572a0ed6e1b1b470b8259eda3ca3 fc-uicc-tool update-rec: support prev mode like fc-simtool diff -r 3055d5c9e7a3 -r 0c19ec7af526 uicc/writecmd.c --- a/uicc/writecmd.c Sun Apr 11 02:38:31 2021 +0000 +++ b/uicc/writecmd.c Sun Apr 11 02:46:49 2021 +0000 @@ -45,7 +45,7 @@ cmd_update_rec(argc, argv) char **argv; { - unsigned recno; + unsigned recno, mode; u_char data[255]; int rc; @@ -53,11 +53,17 @@ fprintf(stderr, "error: no record-based file selected\n"); return(-1); } - recno = strtoul(argv[1], 0, 0); - if (recno < 1 || recno > 255) { - fprintf(stderr, + if (!strcmp(argv[1], "prev")) { + recno = 0; + mode = 0x03; + } else { + recno = strtoul(argv[1], 0, 0); + if (recno < 1 || recno > 255) { + fprintf(stderr, "error: record number argument is out of range\n"); - return(-1); + return(-1); + } + mode = 0x04; } rc = read_hex_data_file(argv[2], data, 255); if (rc < 0) @@ -66,5 +72,5 @@ fprintf(stderr, "error: hex data length != EF record length\n"); return(-1); } - return update_rec_op(recno, 0x04, data, last_sel_file_record_len); + return update_rec_op(recno, mode, data, last_sel_file_record_len); }