# HG changeset patch # User Mychaela Falconia # Date 1613541567 0 # Node ID fe660c7ea97f57560951e571d97da3cfb26d734e # Parent e89004a245ce64622c370d37ad1e6af0528afac3 lnd-dump command can save to file like pb-dump and smsp-dump diff -r e89004a245ce -r fe660c7ea97f simtool/dispatch.c --- a/simtool/dispatch.c Wed Feb 17 05:53:22 2021 +0000 +++ b/simtool/dispatch.c Wed Feb 17 05:59:27 2021 +0000 @@ -112,7 +112,7 @@ {"grcard2-set-super-hex", 1, 1, cmd_grcard2_set_super_hex}, {"iccid", 0, 0, cmd_iccid}, {"imsi", 0, 0, cmd_imsi}, - {"lnd-dump", 0, 0, cmd_lnd_dump}, + {"lnd-dump", 0, 1, cmd_lnd_dump}, {"opl-dump", 0, 0, cmd_opl_dump}, {"pb-dump", 1, 2, cmd_pb_dump}, {"pb-dump-rec", 2, 3, cmd_pb_dump_rec}, diff -r e89004a245ce -r fe660c7ea97f simtool/pbdump.c --- a/simtool/pbdump.c Wed Feb 17 05:53:22 2021 +0000 +++ b/simtool/pbdump.c Wed Feb 17 05:59:27 2021 +0000 @@ -132,21 +132,36 @@ return(0); } -cmd_lnd_dump() +cmd_lnd_dump(argc, argv) + char **argv; { int rc; + FILE *outf; unsigned recno; rc = select_ef_lnd(); if (rc < 0) return(rc); + if (argv[1]) { + outf = fopen(argv[1], "w"); + if (!outf) { + perror(argv[1]); + return(-1); + } + } else + outf = stdout; for (recno = 1; recno <= curfile_record_count; recno++) { rc = readrec_op(recno, 0x04, curfile_record_len); - if (rc < 0) + if (rc < 0) { + if (argv[1]) + fclose(outf); return(rc); + } if (check_simresp_all_blank()) continue; - dump_record(recno, stdout); + dump_record(recno, outf); } + if (argv[1]) + fclose(outf); return(0); }