comparison simtool/pbdump.c @ 82:fe660c7ea97f

lnd-dump command can save to file like pb-dump and smsp-dump
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 17 Feb 2021 05:59:27 +0000
parents e89004a245ce
children 869488ef86b6
comparison
equal deleted inserted replaced
81:e89004a245ce 82:fe660c7ea97f
130 dump_record(recno, stdout); 130 dump_record(recno, stdout);
131 } 131 }
132 return(0); 132 return(0);
133 } 133 }
134 134
135 cmd_lnd_dump() 135 cmd_lnd_dump(argc, argv)
136 char **argv;
136 { 137 {
137 int rc; 138 int rc;
139 FILE *outf;
138 unsigned recno; 140 unsigned recno;
139 141
140 rc = select_ef_lnd(); 142 rc = select_ef_lnd();
141 if (rc < 0) 143 if (rc < 0)
142 return(rc); 144 return(rc);
145 if (argv[1]) {
146 outf = fopen(argv[1], "w");
147 if (!outf) {
148 perror(argv[1]);
149 return(-1);
150 }
151 } else
152 outf = stdout;
143 for (recno = 1; recno <= curfile_record_count; recno++) { 153 for (recno = 1; recno <= curfile_record_count; recno++) {
144 rc = readrec_op(recno, 0x04, curfile_record_len); 154 rc = readrec_op(recno, 0x04, curfile_record_len);
145 if (rc < 0) 155 if (rc < 0) {
156 if (argv[1])
157 fclose(outf);
146 return(rc); 158 return(rc);
159 }
147 if (check_simresp_all_blank()) 160 if (check_simresp_all_blank())
148 continue; 161 continue;
149 dump_record(recno, stdout); 162 dump_record(recno, outf);
150 } 163 }
164 if (argv[1])
165 fclose(outf);
151 return(0); 166 return(0);
152 } 167 }