mirror of https://github.com/wb2osz/direwolf.git
				
				
				
			Fix MIC-E comment when device id is missing.
This commit is contained in:
		
							parent
							
								
									89029db610
								
							
						
					
					
						commit
						0d7e296d6d
					
				| 
						 | 
				
			
			@ -568,16 +568,18 @@ void deviceid_decode_dest (char *dest, char *device, size_t device_size)
 | 
			
		|||
 *
 | 
			
		||||
 * Inputs:	comment - MIC-E comment that might have vendor/model encoded as
 | 
			
		||||
 *			a prefix and/or suffix.
 | 
			
		||||
 *			Any trailing CR has already been removed.
 | 
			
		||||
 *
 | 
			
		||||
 *		trimmed_size - Amount of space available for result to avoid buffer overflow.
 | 
			
		||||
 *
 | 
			
		||||
 *		device_size - Amount of space available for result to avoid buffer overflow.
 | 
			
		||||
 *
 | 
			
		||||
 * Outputs:	trimmed - Final comment with device vendor/model removed.
 | 
			
		||||
 *				This would include any altitude.
 | 
			
		||||
 *
 | 
			
		||||
 *		device	- Vendor and model.
 | 
			
		||||
 *
 | 
			
		||||
 * Description:	This has a tortured history.
 | 
			
		||||
 * Description:	MIC-E device identification has a tortured history.
 | 
			
		||||
 *
 | 
			
		||||
 *		The Kenwood TH-D7A  put ">" at the beginning of the comment.
 | 
			
		||||
 *		The Kenwood TM-D700 put "]" at the beginning of the comment.
 | 
			
		||||
| 
						 | 
				
			
			@ -593,7 +595,9 @@ void deviceid_decode_dest (char *dest, char *device, size_t device_size)
 | 
			
		|||
 *
 | 
			
		||||
 * References:	http://www.aprs.org/aprs12/mic-e-types.txt
 | 
			
		||||
 *		http://www.aprs.org/aprs12/mic-e-examples.txt
 | 
			
		||||
 *
 | 
			
		||||
 *		https://github.com/wb2osz/aprsspec containing:
 | 
			
		||||
 *			APRS Protocol Specification 1.2
 | 
			
		||||
 *			Understanding APRS Packets
 | 
			
		||||
 *------------------------------------------------------------------*/
 | 
			
		||||
 | 
			
		||||
// The strncmp documentation doesn't mention behavior if length is zero.
 | 
			
		||||
| 
						 | 
				
			
			@ -612,6 +616,10 @@ static inline int strncmp_z (char *a, char *b, size_t len)
 | 
			
		|||
void deviceid_decode_mice (char *comment, char *trimmed, size_t trimmed_size, char *device, size_t device_size)
 | 
			
		||||
{
 | 
			
		||||
	strlcpy (device, "UNKNOWN vendor/model", device_size);
 | 
			
		||||
	strlcpy (trimmed, comment, sizeof(trimmed));
 | 
			
		||||
	if (strlen(comment) < 1) {
 | 
			
		||||
	  return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (ptocalls == NULL) {
 | 
			
		||||
	  text_color_set(DW_COLOR_ERROR);
 | 
			
		||||
| 
						 | 
				
			
			@ -663,6 +671,7 @@ void deviceid_decode_mice (char *comment, char *trimmed, size_t trimmed_size, ch
 | 
			
		|||
// Not found.
 | 
			
		||||
 | 
			
		||||
	strlcpy (device, "UNKNOWN vendor/model", device_size);
 | 
			
		||||
	strlcpy (trimmed, comment, sizeof(trimmed));
 | 
			
		||||
 | 
			
		||||
} // end deviceid_decode_mice
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue