Fix save config ini file
This commit is contained in:
		
							parent
							
								
									c4aa33fb1b
								
							
						
					
					
						commit
						1d72629334
					
				| @ -300,21 +300,8 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { | |||||||
| 	defer f.Close() | 	defer f.Close() | ||||||
| 
 | 
 | ||||||
| 	buf := bytes.NewBuffer(nil) | 	buf := bytes.NewBuffer(nil) | ||||||
| 	for section, dt := range c.data { | 	// Save default section at first place | ||||||
| 		// Write section comments. | 	if dt, ok := c.data[DEFAULT_SECTION]; ok { | ||||||
| 		if v, ok := c.sectionComment[section]; ok { |  | ||||||
| 			if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { |  | ||||||
| 				return err |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		if section != DEFAULT_SECTION { |  | ||||||
| 			// Write section name. |  | ||||||
| 			if _, err = buf.WriteString(string(sectionStart) + section + string(sectionEnd) + lineBreak); err != nil { |  | ||||||
| 				return err |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		for key, val := range dt { | 		for key, val := range dt { | ||||||
| 			if key != " " { | 			if key != " " { | ||||||
| 				// Write key comments. | 				// Write key comments. | ||||||
| @ -336,6 +323,43 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { | |||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 	// Save named sections | ||||||
|  | 	for section, dt := range c.data { | ||||||
|  | 		if section != DEFAULT_SECTION { | ||||||
|  | 			// Write section comments. | ||||||
|  | 			if v, ok := c.sectionComment[section]; ok { | ||||||
|  | 				if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { | ||||||
|  | 					return err | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			// Write section name. | ||||||
|  | 			if _, err = buf.WriteString(string(sectionStart) + section + string(sectionEnd) + lineBreak); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			for key, val := range dt { | ||||||
|  | 				if key != " " { | ||||||
|  | 					// Write key comments. | ||||||
|  | 					if v, ok := c.keyComment[key]; ok { | ||||||
|  | 						if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { | ||||||
|  | 							return err | ||||||
|  | 						} | ||||||
|  | 					} | ||||||
|  | 
 | ||||||
|  | 					// Write key and value. | ||||||
|  | 					if _, err = buf.WriteString(key + string(bEqual) + val + lineBreak); err != nil { | ||||||
|  | 						return err | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			// Put a line between sections. | ||||||
|  | 			if _, err = buf.WriteString(lineBreak); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	if _, err = buf.WriteTo(f); err != nil { | 	if _, err = buf.WriteTo(f); err != nil { | ||||||
| 		return err | 		return err | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user