comparison simtool/pberase.c @ 121:87b34a244901

fc-simtool: pb-erase-range command implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 28 Jan 2021 05:04:16 +0000
parents 0dcd666292e4
children
comparison
equal deleted inserted replaced
120:70219d92c32e 121:87b34a244901
46 return(-1); 46 return(-1);
47 } 47 }
48 memset(record, 0xFF, curfile_record_len); 48 memset(record, 0xFF, curfile_record_len);
49 return update_rec_op(recno, 0x04, record, curfile_record_len); 49 return update_rec_op(recno, 0x04, record, curfile_record_len);
50 } 50 }
51
52 cmd_pb_erase_range(argc, argv)
53 char **argv;
54 {
55 int rc;
56 unsigned recno, startrec, endrec;
57 u_char record[255];
58
59 rc = phonebook_op_common(argv[1]);
60 if (rc < 0)
61 return(rc);
62 startrec = strtoul(argv[2], 0, 0);
63 if (startrec < 1 || startrec > curfile_record_count) {
64 fprintf(stderr,
65 "error: specified starting record number is invalid\n");
66 return(-1);
67 }
68 endrec = strtoul(argv[3], 0, 0);
69 if (endrec < 1 || endrec > curfile_record_count) {
70 fprintf(stderr,
71 "error: specified final record number is invalid\n");
72 return(-1);
73 }
74 if (startrec > endrec) {
75 fprintf(stderr, "error: reverse record range specified\n");
76 return(-1);
77 }
78 memset(record, 0xFF, curfile_record_len);
79 for (recno = startrec; recno <= endrec; recno++) {
80 rc = update_rec_op(recno, 0x04, record, curfile_record_len);
81 if (rc < 0)
82 return(rc);
83 }
84 return(0);
85 }