diff 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
line wrap: on
line diff
--- 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);
 }