diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c index 81966c3e863b2ebed667ee2a1bde45922bb190af..ad5273a587e664acbfcb76260782920ef9606fc2 100644 --- a/src/sbbs3/scfgsave.c +++ b/src/sbbs3/scfgsave.c @@ -60,10 +60,8 @@ BOOL DLLCALL save_cfg(scfg_t* cfg, int backup_level) return(FALSE); for(i=0;i<cfg->sys_nodes;i++) { - if(cfg->node_path[i][0]==0) { + if(cfg->node_path[i][0]==0) sprintf(cfg->node_path[i],"../node%d",i+1); - prep_dir(cfg->ctrl_dir, cfg->node_path[i]); - } cfg->node_num=i+1; if(!write_node_cfg(cfg,backup_level)) return(FALSE); @@ -117,6 +115,9 @@ BOOL DLLCALL write_node_cfg(scfg_t* cfg, int backup_level) if(cfg->prepped) return(FALSE); + if(cfg->node_num<1) + return(FALSE); + sprintf(str,cfg->node_path[cfg->node_num-1]); prep_dir(cfg->ctrl_dir,str); md(str);