FreeCalypso > hg > freecalypso-hwlab
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 } |