|  |  | @ -537,6 +537,7 @@ void _TF_FN TF_AcceptChar(TinyFrame *tf, unsigned char c) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 } |  |  |  |                 } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                 if (tf->len == 0) { |  |  |  |                 if (tf->len == 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     // if the message has no body, we're done.
 | 
			
		
	
		
		
			
				
					
					|  |  |  |                     TF_HandleReceivedMessage(tf); |  |  |  |                     TF_HandleReceivedMessage(tf); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     TF_ResetParser(tf); |  |  |  |                     TF_ResetParser(tf); | 
			
		
	
		
		
			
				
					
					|  |  |  |                     break; |  |  |  |                     break; | 
			
		
	
	
		
		
			
				
					|  |  | @ -773,16 +774,19 @@ static bool _TF_FN TF_SendFrame(TinyFrame *tf, TF_Msg *msg, TF_Listener listener | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Flush if checksum wouldn't fit in the buffer
 |  |  |  |     // Checksum only if message had a body
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |     if (TF_SENDBUF_LEN - len < sizeof(TF_CKSUM)) { |  |  |  |     if (msg->len > 0) { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         TF_WriteImpl(tf, (const uint8_t *) tf->sendbuf, len); |  |  |  |         // Flush if checksum wouldn't fit in the buffer
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         len = 0; |  |  |  |         if (TF_SENDBUF_LEN - len < sizeof(TF_CKSUM)) { | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             TF_WriteImpl(tf, (const uint8_t *) tf->sendbuf, len); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             len = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         // Add checksum, flush what remains to be sent
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         len += TF_ComposeTail(tf->sendbuf + len, &cksum); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     // Add checksum, flush what remains to be sent
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     len += TF_ComposeTail(tf->sendbuf+len, &cksum); |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     TF_WriteImpl(tf, (const uint8_t *) tf->sendbuf, len); |  |  |  |     TF_WriteImpl(tf, (const uint8_t *) tf->sendbuf, len); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |     TF_ReleaseTx(tf); |  |  |  |     TF_ReleaseTx(tf); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     return true; |  |  |  |     return true; | 
			
		
	
	
		
		
			
				
					|  |  | 
 |