summaryrefslogtreecommitdiff
path: root/srecord.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2010-04-14 05:34:17 -0400
committerEric S. Raymond <esr@thyrsus.com>2010-04-14 05:34:17 -0400
commite37de01df5aaf6161cd88424cb522f590355f5d8 (patch)
tree58100ce4ee258635e5cf3bd5a31f97c835ed7716 /srecord.c
parent29f16317f536d8f525bff3a3b8f9541076fab550 (diff)
downloadgpsd-e37de01df5aaf6161cd88424cb522f590355f5d8.tar.gz
Reindented some small utility modules. All regression tests pass.
Diffstat (limited to 'srecord.c')
-rw-r--r--srecord.c158
1 files changed, 81 insertions, 77 deletions
diff --git a/srecord.c b/srecord.c
index 37e7155c..259e0f31 100644
--- a/srecord.c
+++ b/srecord.c
@@ -36,99 +36,103 @@
* bytes are read from bbuf and a ready-to-go srecord is placed in sbuf
*/
int
-bin2srec(unsigned int type, unsigned int offset, unsigned int num, unsigned char *bbuf, unsigned char *sbuf) {
- unsigned char abuf[MAX_BYTES_PER_RECORD*2 + 2], sum;
- size_t len;
-
- if ((num < 1) || (num > MAX_BYTES_PER_RECORD))
- return -1;
-
- len = (size_t)(4 + num + 1);
- memset(abuf, 0, sizeof(abuf));
- hexdump((size_t)num, bbuf, abuf);
- sum = sr_sum((unsigned int)len, offset, bbuf);
- (void)snprintf((char *)sbuf, MAX_BYTES_PER_RECORD*2 + 17,
- "S%u%02X%08X%s%02X\r\n",
- type, (unsigned)len, offset, (char *)abuf, (unsigned)sum);
- return 0;
+bin2srec(unsigned int type, unsigned int offset, unsigned int num,
+ unsigned char *bbuf, unsigned char *sbuf)
+{
+ unsigned char abuf[MAX_BYTES_PER_RECORD * 2 + 2], sum;
+ size_t len;
+
+ if ((num < 1) || (num > MAX_BYTES_PER_RECORD))
+ return -1;
+
+ len = (size_t) (4 + num + 1);
+ memset(abuf, 0, sizeof(abuf));
+ hexdump((size_t) num, bbuf, abuf);
+ sum = sr_sum((unsigned int)len, offset, bbuf);
+ (void)snprintf((char *)sbuf, MAX_BYTES_PER_RECORD * 2 + 17,
+ "S%u%02X%08X%s%02X\r\n",
+ type, (unsigned)len, offset, (char *)abuf, (unsigned)sum);
+ return 0;
}
-int
-srec_hdr(unsigned int num, unsigned char *bbuf, unsigned char *sbuf) {
- return bin2srec(0, 0, num, bbuf, sbuf);
+int srec_hdr(unsigned int num, unsigned char *bbuf, unsigned char *sbuf)
+{
+ return bin2srec(0, 0, num, bbuf, sbuf);
}
-int
-srec_fin(unsigned int num, unsigned char *sbuf) {
- unsigned char bbuf[4], sum;
+int srec_fin(unsigned int num, unsigned char *sbuf)
+{
+ unsigned char bbuf[4], sum;
- memset(bbuf, 0, 4);
+ memset(bbuf, 0, 4);
- bbuf[0] = (unsigned char)(num & 0xff);
- bbuf[1] = (unsigned char)((num >> 8) & 0xff);
- sum = sr_sum(3, 0, bbuf);
- (void)snprintf((char *)sbuf, 13, "S503%04X%02X\r\n", num, (unsigned)sum);
- return 0;
+ bbuf[0] = (unsigned char)(num & 0xff);
+ bbuf[1] = (unsigned char)((num >> 8) & 0xff);
+ sum = sr_sum(3, 0, bbuf);
+ (void)snprintf((char *)sbuf, 13, "S503%04X%02X\r\n", num, (unsigned)sum);
+ return 0;
}
-void
-hexdump(size_t len, unsigned char *bbuf, unsigned char *abuf) {
- size_t i;
+void hexdump(size_t len, unsigned char *bbuf, unsigned char *abuf)
+{
+ size_t i;
- memset(abuf, 0, MAX_BYTES_PER_RECORD*2 + 2);
- if (len > MAX_BYTES_PER_RECORD*2)
- len = MAX_BYTES_PER_RECORD*2;
+ memset(abuf, 0, MAX_BYTES_PER_RECORD * 2 + 2);
+ if (len > MAX_BYTES_PER_RECORD * 2)
+ len = MAX_BYTES_PER_RECORD * 2;
- for(i = 0; i < len; i++) {
- abuf[i*2] = hc((bbuf[i] &0xf0) >> 4);
- abuf[i*2+1] = hc(bbuf[i] &0x0f);
- }
+ for (i = 0; i < len; i++) {
+ abuf[i * 2] = hc((bbuf[i] & 0xf0) >> 4);
+ abuf[i * 2 + 1] = hc(bbuf[i] & 0x0f);
+ }
}
/*@ -type @*/
-unsigned char
-hc(unsigned char x) {
- switch(x) {
- case 15:
- case 14:
- case 13:
- case 12:
- case 11:
- case 10:
- return ('A' + x - 10);
- case 9:
- case 8:
- case 7:
- case 6:
- case 5:
- case 4:
- case 3:
- case 2:
- case 1:
- case 0:
- return ('0' + x);
-
- default:
- return '0';
- }
+unsigned char hc(unsigned char x)
+{
+ switch (x) {
+ case 15:
+ case 14:
+ case 13:
+ case 12:
+ case 11:
+ case 10:
+ return ('A' + x - 10);
+ case 9:
+ case 8:
+ case 7:
+ case 6:
+ case 5:
+ case 4:
+ case 3:
+ case 2:
+ case 1:
+ case 0:
+ return ('0' + x);
+
+ default:
+ return '0';
+ }
}
+
/*@ -type @*/
unsigned char
-sr_sum(unsigned int count, unsigned int addr, unsigned char *bbuf) {
- int i, j;
- unsigned char k, sum = 0;
-
- sum = (count & 0xff);
- sum += ((addr & 0x000000ff));
- sum += ((addr & 0x0000ff00) >> 8);
- sum += ((addr & 0x00ff0000) >> 16);
- sum += ((addr & 0xff000000) >> 24);
- j = count - 5;
- for(i = 0; i < j; i++) {
- k = bbuf[i];
- sum += k;
- }
- return ~sum;
+sr_sum(unsigned int count, unsigned int addr, unsigned char *bbuf)
+{
+ int i, j;
+ unsigned char k, sum = 0;
+
+ sum = (count & 0xff);
+ sum += ((addr & 0x000000ff));
+ sum += ((addr & 0x0000ff00) >> 8);
+ sum += ((addr & 0x00ff0000) >> 16);
+ sum += ((addr & 0xff000000) >> 24);
+ j = count - 5;
+ for (i = 0; i < j; i++) {
+ k = bbuf[i];
+ sum += k;
+ }
+ return ~sum;
}