| 502 | } |
| 503 | |
| 504 | static void configvar_save(struct lightningd *ld, |
| 505 | const char **names, |
| 506 | const char *confline) |
| 507 | { |
| 508 | /* Simple case: set in a config file. */ |
| 509 | struct configvar *oldcv; |
| 510 | size_t linenum; |
| 511 | |
| 512 | if (!ld->setconfig_file) |
| 513 | create_setconfig_include(ld); |
| 514 | |
| 515 | /* Is it already set in the config? */ |
| 516 | oldcv = configvar_first(ld->configvars, names); |
| 517 | if (oldcv && oldcv->file) { |
| 518 | /* If it's already in config.setconfig, replace */ |
| 519 | if (streq(oldcv->file, ld->setconfig_file)) { |
| 520 | configfile_replace_var(ld, oldcv, confline); |
| 521 | linenum = oldcv->linenum; |
| 522 | goto replaced; |
| 523 | } |
| 524 | configfile_replace_var(ld, oldcv, NULL); |
| 525 | } |
| 526 | |
| 527 | linenum = append_to_file(ld, ld->setconfig_file, confline, true); |
| 528 | |
| 529 | replaced: |
| 530 | configvar_updated(ld, CONFIGVAR_NETWORK_CONF, |
| 531 | ld->setconfig_file, linenum, confline); |
| 532 | } |
| 533 | |
| 534 | /* For multi options: remove all existing, add all new values */ |
| 535 | static void configvar_save_multi(struct lightningd *ld, |
no test coverage detected