Fix save config ini file
Showing
1 changed file
with
26 additions
and
2 deletions
| ... | @@ -300,7 +300,32 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { | ... | @@ -300,7 +300,32 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { |
| 300 | defer f.Close() | 300 | defer f.Close() |
| 301 | 301 | ||
| 302 | buf := bytes.NewBuffer(nil) | 302 | buf := bytes.NewBuffer(nil) |
| 303 | // Save default section at first place | ||
| 304 | if dt, ok := c.data[DEFAULT_SECTION]; ok { | ||
| 305 | for key, val := range dt { | ||
| 306 | if key != " " { | ||
| 307 | // Write key comments. | ||
| 308 | if v, ok := c.keyComment[key]; ok { | ||
| 309 | if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { | ||
| 310 | return err | ||
| 311 | } | ||
| 312 | } | ||
| 313 | |||
| 314 | // Write key and value. | ||
| 315 | if _, err = buf.WriteString(key + string(bEqual) + val + lineBreak); err != nil { | ||
| 316 | return err | ||
| 317 | } | ||
| 318 | } | ||
| 319 | } | ||
| 320 | |||
| 321 | // Put a line between sections. | ||
| 322 | if _, err = buf.WriteString(lineBreak); err != nil { | ||
| 323 | return err | ||
| 324 | } | ||
| 325 | } | ||
| 326 | // Save named sections | ||
| 303 | for section, dt := range c.data { | 327 | for section, dt := range c.data { |
| 328 | if section != DEFAULT_SECTION { | ||
| 304 | // Write section comments. | 329 | // Write section comments. |
| 305 | if v, ok := c.sectionComment[section]; ok { | 330 | if v, ok := c.sectionComment[section]; ok { |
| 306 | if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { | 331 | if _, err = buf.WriteString(string(bNumComment) + v + lineBreak); err != nil { |
| ... | @@ -308,12 +333,10 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { | ... | @@ -308,12 +333,10 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { |
| 308 | } | 333 | } |
| 309 | } | 334 | } |
| 310 | 335 | ||
| 311 | if section != DEFAULT_SECTION { | ||
| 312 | // Write section name. | 336 | // Write section name. |
| 313 | if _, err = buf.WriteString(string(sectionStart) + section + string(sectionEnd) + lineBreak); err != nil { | 337 | if _, err = buf.WriteString(string(sectionStart) + section + string(sectionEnd) + lineBreak); err != nil { |
| 314 | return err | 338 | return err |
| 315 | } | 339 | } |
| 316 | } | ||
| 317 | 340 | ||
| 318 | for key, val := range dt { | 341 | for key, val := range dt { |
| 319 | if key != " " { | 342 | if key != " " { |
| ... | @@ -336,6 +359,7 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { | ... | @@ -336,6 +359,7 @@ func (c *IniConfigContainer) SaveConfigFile(filename string) (err error) { |
| 336 | return err | 359 | return err |
| 337 | } | 360 | } |
| 338 | } | 361 | } |
| 362 | } | ||
| 339 | 363 | ||
| 340 | if _, err = buf.WriteTo(f); err != nil { | 364 | if _, err = buf.WriteTo(f); err != nil { |
| 341 | return err | 365 | return err | ... | ... |
-
Please register or sign in to post a comment