- /* Pad block with 0xFF if it's partially full */
- if (size < XM_BUFSIZE)
- for (i = size; i < XM_BUFSIZE; i++)
- block_buffer[i] = (char)0xFF;
-
- /* Send block header (STX, blocknr, ~blocknr) */
- ser_putchar(XM_STX);
- ser_putchar(blocknr & 0xFF);
- ser_putchar(~blocknr & 0xFF);
-
- /* Send block and compute its CRC/checksum */
- sum = 0;
- crc = 0;
- for (i = 0; i < XM_BUFSIZE; i++)
- {
- ser_putchar(block_buffer[i]);
- crc = UPDCRC16(block_buffer[i], crc);
- sum += block_buffer[i];
- }
+ ser_putchar(block_buffer[i]);
+ crc = UPDCRC16(block_buffer[i], crc);
+ sum += block_buffer[i];
+ }