|  | @@ -91,7 +91,7 @@ static struct config_setting * find_config_setting ( const char *name ) {
 | 
		
	
		
			
			| 91 | 91 |   * @ret setting		Configuration setting, or NULL
 | 
		
	
		
			
			| 92 | 92 |   *
 | 
		
	
		
			
			| 93 | 93 |   * Find setting if it exists.  If it doesn't exist, but the name is of
 | 
		
	
		
			
			| 94 |  | - * the form "<num>.<type>" (e.g. "12.string"), then construct a
 | 
		
	
		
			
			|  | 94 | + * the form "<num>:<type>" (e.g. "12:string"), then construct a
 | 
		
	
		
			
			| 95 | 95 |   * setting for that tag and data type, and return it.  The constructed
 | 
		
	
		
			
			| 96 | 96 |   * setting will be placed in the temporary buffer.
 | 
		
	
		
			
			| 97 | 97 |   */
 | 
		
	
	
		
			
			|  | @@ -106,13 +106,19 @@ find_or_build_config_setting ( const char *name,
 | 
		
	
		
			
			| 106 | 106 |  	if ( setting )
 | 
		
	
		
			
			| 107 | 107 |  		return setting;
 | 
		
	
		
			
			| 108 | 108 |  
 | 
		
	
		
			
			| 109 |  | -	/* If name is of the form "<num>.<type>", try to construct a setting */
 | 
		
	
		
			
			|  | 109 | +	/* If name is of the form "<num>:<type>", try to construct a setting */
 | 
		
	
		
			
			| 110 | 110 |  	setting = tmp_setting;
 | 
		
	
		
			
			| 111 | 111 |  	memset ( setting, 0, sizeof ( *setting ) );
 | 
		
	
		
			
			| 112 | 112 |  	setting->name = name;
 | 
		
	
		
			
			| 113 |  | -	setting->tag = strtoul ( name, &separator, 10 );
 | 
		
	
		
			
			|  | 113 | +	for ( separator = ( char * ) name ; 1 ; separator++ ) {
 | 
		
	
		
			
			|  | 114 | +		setting->tag = ( ( setting->tag << 8 ) |
 | 
		
	
		
			
			|  | 115 | +				 strtoul ( separator, &separator, 0 ) );
 | 
		
	
		
			
			|  | 116 | +		if ( *separator != '.' )
 | 
		
	
		
			
			|  | 117 | +			break;
 | 
		
	
		
			
			|  | 118 | +	}
 | 
		
	
		
			
			|  | 119 | +
 | 
		
	
		
			
			| 114 | 120 |  	switch ( *separator ) {
 | 
		
	
		
			
			| 115 |  | -	case '.' :
 | 
		
	
		
			
			|  | 121 | +	case ':' :
 | 
		
	
		
			
			| 116 | 122 |  		setting->type = find_config_setting_type ( separator + 1 );
 | 
		
	
		
			
			| 117 | 123 |  		break;
 | 
		
	
		
			
			| 118 | 124 |  	case '\0' :
 |