diff --git a/src/sbbs3/ctrl/MainFormUnit.cpp b/src/sbbs3/ctrl/MainFormUnit.cpp index 661716b6bef2e4291b56f3ce4af24cd00acfc935..86918cc5ac50eddf11099e8551e4120b8686c5a8 100644 --- a/src/sbbs3/ctrl/MainFormUnit.cpp +++ b/src/sbbs3/ctrl/MainFormUnit.cpp @@ -2256,7 +2256,6 @@ bool __fastcall TMainForm::SaveIniSettings(TObject* Sender) bool success = sbbs_write_ini(fp ,&cfg - ,10 /* backup_level */ ,&global ,SysAutoStart ,&bbs_startup ,FtpAutoStart ,&ftp_startup diff --git a/src/sbbs3/sbbs_ini.c b/src/sbbs3/sbbs_ini.c index 90d820d78c784761d3cec10e18c05d6bc11ca30f..9f66c63a299223da6188f1eb0901f54b2b0dd895 100644 --- a/src/sbbs3/sbbs_ini.c +++ b/src/sbbs3/sbbs_ini.c @@ -795,7 +795,6 @@ void sbbs_read_ini( BOOL sbbs_write_ini( FILE* fp ,scfg_t* cfg - ,int backup_level ,global_startup_t* global ,BOOL run_bbs ,bbs_startup_t* bbs @@ -1358,7 +1357,7 @@ BOOL sbbs_write_ini( } /***********************************************************************/ - backup(cfg->filename, backup_level, /* rename: */FALSE); + backup(cfg->filename, cfg->config_backup_level, /* rename: */FALSE); result=iniWriteFile(fp,list); } while(0); /* finally */ diff --git a/src/sbbs3/sbbs_ini.h b/src/sbbs3/sbbs_ini.h index ff46358d8c80ed812f61b7ead64775d0409a8a9f..9a7b3f8dac7ed05b4e26c41e37e53b0be4e6a647 100644 --- a/src/sbbs3/sbbs_ini.h +++ b/src/sbbs3/sbbs_ini.h @@ -82,7 +82,6 @@ BOOL sbbs_set_js_settings( BOOL sbbs_write_ini( FILE* fp ,scfg_t* cfg - ,int backup_level ,global_startup_t* global ,BOOL run_bbs ,bbs_startup_t* bbs diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c index cf27da1c28f94db32b8b2018b94c2919be0a502b..8976bd18e6e46ed291b884f9888b26d334846c49 100644 --- a/src/sbbs3/scfg/scfg.c +++ b/src/sbbs3/scfg/scfg.c @@ -45,7 +45,6 @@ extern BOOL no_msghdr; char **opt; char tmp[256]; char error[256]; -int backup_level=5; char* area_sort_desc[] = { "Index Position", "Long Name", "Short Name", "Internal Code Suffix", NULL }; static char title[128]; @@ -352,8 +351,8 @@ void cfg_wizard(void) if(strcmp(saved_cfg.sys_pass, cfg.sys_pass) != 0) reencrypt_keys(saved_cfg.sys_pass, cfg.sys_pass); cfg.new_install = new_install; - save_main_cfg(&cfg, backup_level); - save_msgs_cfg(&cfg, backup_level); + save_main_cfg(&cfg); + save_msgs_cfg(&cfg); break; } ++stage; @@ -446,9 +445,6 @@ int main(int argc, char **argv) printf("NOTICE: The -d option is deprecated, use -id instead\n"); SLEEP(2000); door_mode=TRUE; - break; - case 'B': - backup_level=atoi(argv[i]+2); break; case 'U': umask(strtoul(argv[i]+2,NULL,8)); @@ -543,9 +539,7 @@ int main(int argc, char **argv) " D = standard input/output/door mode\n" "-v# = set video mode to # (default=auto)\n" "-l# = set screen lines to # (default=auto-detect)\n" - "-b# = set automatic back-up level (default=%d)\n" "-y = automatically save changes (don't ask)\n" - ,backup_level ); exit(0); } @@ -621,7 +615,7 @@ int main(int argc, char **argv) else { printf("Imported %ld areas (%ld added) from %s\n", ported, added, fname); printf("Saving configuration (%u message areas) ... ", cfg.total_subs); - write_msgs_cfg(&cfg,backup_level); + write_msgs_cfg(&cfg); printf("done.\n"); refresh_cfg(&cfg); } @@ -810,7 +804,7 @@ int main(int argc, char **argv) if(j==-1) continue; if(!j) { - save_chat_cfg(&cfg,backup_level); + save_chat_cfg(&cfg); refresh_cfg(&cfg); } break; @@ -965,50 +959,50 @@ BOOL load_xtrn_cfg(scfg_t* cfg, char *error, size_t maxerrlen) return result; } -BOOL save_main_cfg(scfg_t* cfg, int backup_level) +BOOL save_main_cfg(scfg_t* cfg) { uifc.pop("Writing main.ini ..."); - BOOL result = write_main_cfg(cfg, backup_level); + BOOL result = write_main_cfg(cfg); uifc.pop(NULL); return result; } -BOOL save_node_cfg(scfg_t* cfg, int backup_level) +BOOL save_node_cfg(scfg_t* cfg) { uifc.pop("Writing node.ini ..."); - BOOL result = write_node_cfg(cfg, backup_level); + BOOL result = write_node_cfg(cfg); uifc.pop(NULL); return result; } -BOOL save_msgs_cfg(scfg_t* cfg, int backup_level) +BOOL save_msgs_cfg(scfg_t* cfg) { uifc.pop("Writing msgs.ini ..."); - BOOL result = write_msgs_cfg(cfg, backup_level); + BOOL result = write_msgs_cfg(cfg); uifc.pop(NULL); return result; } -BOOL save_file_cfg(scfg_t* cfg, int backup_level) +BOOL save_file_cfg(scfg_t* cfg) { uifc.pop("Writing file.ini ..."); - BOOL result = write_file_cfg(cfg, backup_level); + BOOL result = write_file_cfg(cfg); uifc.pop(NULL); return result; } -BOOL save_chat_cfg(scfg_t* cfg, int backup_level) +BOOL save_chat_cfg(scfg_t* cfg) { uifc.pop("Writing chat.ini ..."); - BOOL result = write_chat_cfg(cfg, backup_level); + BOOL result = write_chat_cfg(cfg); uifc.pop(NULL); return result; } -BOOL save_xtrn_cfg(scfg_t* cfg, int backup_level) +BOOL save_xtrn_cfg(scfg_t* cfg) { uifc.pop("Writing xtrn.ini ..."); - BOOL result = write_xtrn_cfg(cfg, backup_level); + BOOL result = write_xtrn_cfg(cfg); uifc.pop(NULL); return result; } @@ -1084,7 +1078,7 @@ void txt_cfg() if(j==-1) continue; if(!j) { - save_file_cfg(&cfg,backup_level); + save_file_cfg(&cfg); refresh_cfg(&cfg); } return; @@ -1267,7 +1261,7 @@ void shell_cfg() continue; if(!j) { cfg.new_install=new_install; - save_main_cfg(&cfg,backup_level); + save_main_cfg(&cfg); refresh_cfg(&cfg); } return; @@ -2468,11 +2462,11 @@ void bail(int code) load_chat_cfg(&cfg, error, sizeof(error)); load_xtrn_cfg(&cfg, error, sizeof(error)); cfg.new_install=new_install; - save_main_cfg(&cfg,backup_level); - save_msgs_cfg(&cfg,backup_level); - save_file_cfg(&cfg,backup_level); - save_chat_cfg(&cfg,backup_level); - save_xtrn_cfg(&cfg,backup_level); + save_main_cfg(&cfg); + save_msgs_cfg(&cfg); + save_file_cfg(&cfg); + save_chat_cfg(&cfg); + save_xtrn_cfg(&cfg); sbbs_get_ini_fname(cfg.filename, cfg.ctrl_dir); @@ -2498,7 +2492,6 @@ void bail(int code) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,&global_startup ,run_bbs ,&bbs_startup diff --git a/src/sbbs3/scfg/scfg.h b/src/sbbs3/scfg/scfg.h index 93e8604a85065ef57901344b77bac7d7409d8876..c55530b2dd1f1615fd57d5a439c82b4e7421a64f 100644 --- a/src/sbbs3/scfg/scfg.h +++ b/src/sbbs3/scfg/scfg.h @@ -107,7 +107,6 @@ extern char tmp[256]; extern char error[256]; extern const char *nulstr; extern char *invalid_code,*num_flags; -extern int backup_level; extern BOOL new_install; extern char* area_sort_desc[AREA_SORT_TYPES+1]; @@ -179,12 +178,12 @@ BOOL load_msgs_cfg(scfg_t*, char*, size_t); BOOL load_file_cfg(scfg_t*, char*, size_t); BOOL load_chat_cfg(scfg_t*, char*, size_t); BOOL load_xtrn_cfg(scfg_t*, char*, size_t); -BOOL save_main_cfg(scfg_t*, int); -BOOL save_node_cfg(scfg_t*, int); -BOOL save_msgs_cfg(scfg_t*, int); -BOOL save_file_cfg(scfg_t*, int); -BOOL save_chat_cfg(scfg_t*, int); -BOOL save_xtrn_cfg(scfg_t*, int); +BOOL save_main_cfg(scfg_t*); +BOOL save_node_cfg(scfg_t*); +BOOL save_msgs_cfg(scfg_t*); +BOOL save_file_cfg(scfg_t*); +BOOL save_chat_cfg(scfg_t*); +BOOL save_xtrn_cfg(scfg_t*); long import_msg_areas(enum import_list_type, FILE*, unsigned grpnum, int min_confnum, int max_confnum , qhub_t*, const char* pkt_orig, faddr_t* faddr, uint32_t misc, long* added); diff --git a/src/sbbs3/scfg/scfgmsg.c b/src/sbbs3/scfg/scfgmsg.c index 55d7a54f6fbf8a609360d1e3c4300e3c5ec67d97..3b6ab1648e5344b171b666dd0bcade4ecc21c821 100644 --- a/src/sbbs3/scfg/scfgmsg.c +++ b/src/sbbs3/scfg/scfgmsg.c @@ -529,7 +529,7 @@ void msgs_cfg() if(j==-1) continue; if(!j) { - save_msgs_cfg(&cfg,backup_level); + save_msgs_cfg(&cfg); refresh_cfg(&cfg); } return; @@ -1174,8 +1174,8 @@ void msg_opts() continue; if(!i) { cfg.new_install=new_install; - save_msgs_cfg(&cfg,backup_level); - save_main_cfg(&cfg,backup_level); + save_msgs_cfg(&cfg); + save_main_cfg(&cfg); refresh_cfg(&cfg); } return; diff --git a/src/sbbs3/scfg/scfgnet.c b/src/sbbs3/scfg/scfgnet.c index b40f1f7697d6e55666e18571fea41ce12185644b..e9f12b415e23b42e252ec86c2a26c72cea26954b 100644 --- a/src/sbbs3/scfg/scfgnet.c +++ b/src/sbbs3/scfg/scfgnet.c @@ -206,7 +206,7 @@ void mqtt_cfg() if(i == -1) continue; if(i == 0) { - save_main_cfg(&cfg, backup_level); + save_main_cfg(&cfg); refresh_cfg(&cfg); } return; @@ -1060,7 +1060,7 @@ void net_cfg() if(i==-1) continue; if(!i) { - save_msgs_cfg(&cfg,backup_level); + save_msgs_cfg(&cfg); refresh_cfg(&cfg); } free_msgs_cfg(&cfg); diff --git a/src/sbbs3/scfg/scfgnode.c b/src/sbbs3/scfg/scfgnode.c index e81659425223dc2e74251edd1cdf6aea8773b48b..6d9d0fd519b3cc2c65ba3f3ba49bfef46c00a7c9 100644 --- a/src/sbbs3/scfg/scfgnode.c +++ b/src/sbbs3/scfg/scfgnode.c @@ -119,7 +119,7 @@ void node_menu() if(!i) { --cfg.sys_nodes; cfg.new_install=new_install; - save_main_cfg(&cfg,backup_level); + save_main_cfg(&cfg); adjust_last_node(); refresh_cfg(&cfg); } @@ -151,8 +151,8 @@ void node_menu() cfg.node_num=++cfg.sys_nodes; SAFECOPY(cfg.node_phone,"N/A"); cfg.new_install=new_install; - save_node_cfg(&cfg,backup_level); - save_main_cfg(&cfg,backup_level); + save_node_cfg(&cfg); + save_main_cfg(&cfg); free_node_cfg(&cfg); adjust_last_node(); refresh_cfg(&cfg); @@ -171,7 +171,7 @@ void node_menu() i&=MSK_OFF; SAFECOPY(cfg.node_dir,cfg.node_path[i]); cfg.node_num=i+1; - save_node_cfg(&cfg,backup_level); + save_node_cfg(&cfg); refresh_cfg(&cfg); continue; } @@ -186,7 +186,7 @@ void node_menu() load_node_cfg(&cfg,error, sizeof(error)); if (cfg.node_num != i + 1) { /* Node number isn't right? */ cfg.node_num = i + 1; /* so fix it */ - save_node_cfg(&cfg, backup_level); /* and write it back */ + save_node_cfg(&cfg); /* and write it back */ } node_cfg(); @@ -219,8 +219,8 @@ void node_cfg() case -1: i=save_changes(WIN_MID|WIN_SAV); if(!i) { - save_node_cfg(&cfg,backup_level); - save_main_cfg(&cfg,backup_level); + save_node_cfg(&cfg); + save_main_cfg(&cfg); refresh_cfg(&cfg); } if(i!=-1) diff --git a/src/sbbs3/scfg/scfgsrvr.c b/src/sbbs3/scfg/scfgsrvr.c index fdfa8d813ae8b1f07192034124aa1b79702ec895..aa64ae58ed0a5dd1dbe137f423b6c08c2b3e62d1 100644 --- a/src/sbbs3/scfg/scfgsrvr.c +++ b/src/sbbs3/scfg/scfgsrvr.c @@ -278,7 +278,6 @@ static void global_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,&startup ,false ,NULL @@ -528,7 +527,6 @@ static void termsrvr_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,NULL ,enabled ,&startup @@ -792,7 +790,6 @@ static void websrvr_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,NULL ,FALSE ,NULL @@ -989,7 +986,6 @@ static void ftpsrvr_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,NULL ,FALSE ,NULL @@ -1402,7 +1398,6 @@ static void mailsrvr_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,NULL ,FALSE ,NULL @@ -1518,7 +1513,6 @@ static void services_cfg(void) if(!sbbs_write_ini( fp ,&cfg - ,backup_level ,NULL ,FALSE ,NULL diff --git a/src/sbbs3/scfg/scfgsys.c b/src/sbbs3/scfg/scfgsys.c index a0459d5192745a851c640cd5285cde2c1240af2a..f77ca71f06857f5f6cf9d228574187f3decce12d 100644 --- a/src/sbbs3/scfg/scfgsys.c +++ b/src/sbbs3/scfg/scfgsys.c @@ -1684,7 +1684,7 @@ void sys_cfg(void) if(strcmp(sys_pass, cfg.sys_pass) != 0) { reencrypt_keys(sys_pass, cfg.sys_pass); } - save_main_cfg(&cfg,backup_level); + save_main_cfg(&cfg); refresh_cfg(&cfg); } return; @@ -2438,6 +2438,11 @@ void sys_cfg(void) else strcpy(str,"None"); sprintf(opt[i++],"%-27.27s%s","Mail Database Backups",str); + if(cfg.config_backup_level) + sprintf(str,"%hu",cfg.config_backup_level); + else + strcpy(str,"None"); + sprintf(opt[i++],"%-27.27s%s","Configuration Backups",str); if(cfg.max_log_size && cfg.max_logs_kept) { SAFEPRINTF2(str, "%s bytes, keep %hu" ,byte_count_to_str(cfg.max_log_size, tmp, sizeof(tmp)) @@ -2713,6 +2718,19 @@ void sys_cfg(void) cfg.mail_backup_level=atoi(str); break; case 16: + uifc.helpbuf= + "`Configuraiton File Backups:`\n" + "\n" + "Setting this option to anything but 0 will enable automatic\n" + "backups of your configuration files when saving changes.\n" + ; + sprintf(str,"%u",cfg.config_backup_level); + uifc.input(WIN_MID|WIN_SAV,0,0 + ,"Number of Configuraiton File Backups to Keep" + ,str,4,K_NUMBER|K_EDIT); + cfg.config_backup_level=atoi(str); + break; + case 17: uifc.helpbuf= "`Maximum Log File Size:`\n" "\n" @@ -2744,7 +2762,7 @@ void sys_cfg(void) } } break; - case 17: + case 18: if(cfg.max_getkey_inactivity < 1) SAFECOPY(str, "Unlimited"); else @@ -2767,7 +2785,7 @@ void sys_cfg(void) ,str, 10, K_EDIT); cfg.max_getkey_inactivity = (uint)parse_duration(str); break; - case 18: + case 19: ultoa(cfg.inactivity_warn,str,10); uifc.helpbuf= "`Percentage of Maximum Inactivity Before Warning:`\n" @@ -2782,7 +2800,7 @@ void sys_cfg(void) ,str,4,K_NUMBER|K_EDIT); cfg.inactivity_warn=atoi(str); break; - case 19: + case 20: uifc.helpbuf= "`Control Key Pass-through:`\n" "\n" @@ -2807,7 +2825,7 @@ void sys_cfg(void) ,str,8,K_UPPER|K_EDIT); cfg.ctrlkey_passthru=strtoul(str,NULL,16); break; - } + } } break; case 10: /* Loadable Modules */ diff --git a/src/sbbs3/scfg/scfgxfr1.c b/src/sbbs3/scfg/scfgxfr1.c index 92e19552c85d750980014f8484289b9714e2477c..9d6fa1bd39c4c48ba723fd31afbd6263a10671f4 100644 --- a/src/sbbs3/scfg/scfgxfr1.c +++ b/src/sbbs3/scfg/scfgxfr1.c @@ -127,7 +127,7 @@ void xfer_opts() if(i==-1) break; if(!i) { - save_file_cfg(&cfg,backup_level); + save_file_cfg(&cfg); refresh_cfg(&cfg); } return; diff --git a/src/sbbs3/scfg/scfgxfr2.c b/src/sbbs3/scfg/scfgxfr2.c index 48bd1aea319cf4c3c7ed26e1e94b2ef6d1f89248..c1be75862d84eab98809bff4a5008e2032fe0604 100644 --- a/src/sbbs3/scfg/scfgxfr2.c +++ b/src/sbbs3/scfg/scfgxfr2.c @@ -364,7 +364,7 @@ void xfer_cfg() if(j==-1) continue; if(!j) { - save_file_cfg(&cfg,backup_level); + save_file_cfg(&cfg); refresh_cfg(&cfg); } return; diff --git a/src/sbbs3/scfg/scfgxtrn.c b/src/sbbs3/scfg/scfgxtrn.c index 16d1908faf3b705958109eaf1f0b230add171c13..81372fa8182dee3f4dd7f375b6cae2fabd534345 100644 --- a/src/sbbs3/scfg/scfgxtrn.c +++ b/src/sbbs3/scfg/scfgxtrn.c @@ -332,8 +332,8 @@ void xprogs_cfg() break; if(!i) { cfg.new_install=new_install; - save_xtrn_cfg(&cfg,backup_level); - save_main_cfg(&cfg,backup_level); + save_xtrn_cfg(&cfg); + save_main_cfg(&cfg); refresh_cfg(&cfg); } return; diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h index 188b9bb0ad700bb01948f31bf70d86f328318f61..847cf874a81143d8b58323c731b29598c1277515 100644 --- a/src/sbbs3/scfgdefs.h +++ b/src/sbbs3/scfgdefs.h @@ -622,8 +622,9 @@ typedef struct uint32_t total_colors; uint32_t ctrlkey_passthru; /* Bits represent control keys NOT handled by inkey() */ - uint16_t user_backup_level; - uint16_t mail_backup_level; + uint user_backup_level; + uint mail_backup_level; + uint config_backup_level; char** text; // Run-time state information (not configuration) diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c index 26f6179111138a1cca98db79bf554316c26b61e9..b9e94d079b0acd0f560e9d6d8f00f9da484f9553 100644 --- a/src/sbbs3/scfglib1.c +++ b/src/sbbs3/scfglib1.c @@ -122,8 +122,9 @@ BOOL read_main_cfg(scfg_t* cfg, char* error, size_t maxerrlen) cfg->max_getkey_inactivity = (uint)iniGetDuration(ini, ROOT_SECTION, "max_getkey_inactivity", 300); cfg->inactivity_warn = (uchar)iniGetShortInt(ini, ROOT_SECTION, "inactivity_warn", 75); - cfg->user_backup_level = iniGetInteger(ini, ROOT_SECTION, "user_backup_level", 5); - cfg->mail_backup_level = iniGetInteger(ini, ROOT_SECTION, "mail_backup_level", 5); + cfg->user_backup_level = iniGetUInteger(ini, ROOT_SECTION, "user_backup_level", 5); + cfg->mail_backup_level = iniGetUInteger(ini, ROOT_SECTION, "mail_backup_level", 5); + cfg->config_backup_level = iniGetUInteger(ini, ROOT_SECTION, "config_backup_level", 5); cfg->new_install = iniGetBool(ini, ROOT_SECTION, "new_install", TRUE); cfg->valuser = iniGetShortInt(ini, ROOT_SECTION, "valuser", 0); cfg->erruser = iniGetShortInt(ini, ROOT_SECTION, "erruser", 0); diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c index 7d5f7a81a9e9e9842f26b3d46c6f979e3009dded..287ab66f93fa718b0c0bc6d7f08af4de13e44cc3 100644 --- a/src/sbbs3/scfgsave.c +++ b/src/sbbs3/scfgsave.c @@ -30,27 +30,27 @@ BOOL no_msghdr=FALSE,all_msghdr=FALSE; /****************************************************************************/ /****************************************************************************/ -BOOL save_cfg(scfg_t* cfg, int backup_level) +BOOL save_cfg(scfg_t* cfg) { int i; if(cfg->prepped) return(FALSE); - if(!write_main_cfg(cfg,backup_level)) + if(!write_main_cfg(cfg)) return(FALSE); - if(!write_msgs_cfg(cfg,backup_level)) + if(!write_msgs_cfg(cfg)) return(FALSE); - if(!write_file_cfg(cfg,backup_level)) + if(!write_file_cfg(cfg)) return(FALSE); - if(!write_chat_cfg(cfg,backup_level)) + if(!write_chat_cfg(cfg)) return(FALSE); - if(!write_xtrn_cfg(cfg,backup_level)) + if(!write_xtrn_cfg(cfg)) return(FALSE); for(i=0;i<cfg->sys_nodes;i++) { cfg->node_num=i+1; - if(!write_node_cfg(cfg,backup_level)) + if(!write_node_cfg(cfg)) return(FALSE); } @@ -59,7 +59,7 @@ BOOL save_cfg(scfg_t* cfg, int backup_level) /****************************************************************************/ /****************************************************************************/ -BOOL write_node_cfg(scfg_t* cfg, int backup_level) +BOOL write_node_cfg(scfg_t* cfg) { BOOL result = FALSE; char inipath[MAX_PATH+1]; @@ -75,7 +75,7 @@ BOOL write_node_cfg(scfg_t* cfg, int backup_level) prep_dir(cfg->ctrl_dir, inipath, sizeof(inipath)); md(inipath); SAFECAT(inipath, "node.ini"); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); iniSetString(&ini, ROOT_SECTION, "phone", cfg->node_phone, NULL); @@ -97,7 +97,7 @@ BOOL write_node_cfg(scfg_t* cfg, int backup_level) /****************************************************************************/ /****************************************************************************/ -BOOL write_main_cfg(scfg_t* cfg, int backup_level) +BOOL write_main_cfg(scfg_t* cfg) { BOOL result = FALSE; char inipath[MAX_PATH+1]; @@ -109,7 +109,7 @@ BOOL write_main_cfg(scfg_t* cfg, int backup_level) return FALSE; SAFEPRINTF(inipath, "%smain.ini", cfg->ctrl_dir); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); iniSetString(&ini, ROOT_SECTION, "name", cfg->sys_name, NULL); @@ -140,8 +140,9 @@ BOOL write_main_cfg(scfg_t* cfg, int backup_level) iniSetHexInt(&ini, ROOT_SECTION, "ctrlkey_passthru", cfg->ctrlkey_passthru, NULL); iniSetDuration(&ini, ROOT_SECTION, "max_getkey_inactivity", cfg->max_getkey_inactivity, NULL); iniSetShortInt(&ini, ROOT_SECTION, "inactivity_warn", cfg->inactivity_warn, NULL); - iniSetShortInt(&ini, ROOT_SECTION, "user_backup_level", cfg->user_backup_level, NULL); - iniSetShortInt(&ini, ROOT_SECTION, "mail_backup_level", cfg->mail_backup_level, NULL); + iniSetUInteger(&ini, ROOT_SECTION, "user_backup_level", cfg->user_backup_level, NULL); + iniSetUInteger(&ini, ROOT_SECTION, "mail_backup_level", cfg->mail_backup_level, NULL); + iniSetUInteger(&ini, ROOT_SECTION, "config_backup_level", cfg->config_backup_level, NULL); iniSetShortInt(&ini, ROOT_SECTION, "valuser", cfg->valuser, NULL); iniSetShortInt(&ini, ROOT_SECTION, "erruser", cfg->erruser, NULL); iniSetShortInt(&ini, ROOT_SECTION, "errlevel", cfg->errlevel, NULL); @@ -321,7 +322,7 @@ BOOL write_main_cfg(scfg_t* cfg, int backup_level) /****************************************************************************/ /****************************************************************************/ -BOOL write_msgs_cfg(scfg_t* cfg, int backup_level) +BOOL write_msgs_cfg(scfg_t* cfg) { BOOL result = FALSE; char path[MAX_PATH+1]; @@ -337,7 +338,7 @@ BOOL write_msgs_cfg(scfg_t* cfg, int backup_level) ZERO_VAR(smb); SAFEPRINTF(inipath, "%smsgs.ini", cfg->ctrl_dir); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); iniSetHexInt(&ini, ROOT_SECTION, "settings", cfg->msg_misc, NULL); @@ -608,7 +609,7 @@ static void write_dir_defaults_cfg(str_list_t* ini, const char* section, dir_t* /****************************************************************************/ /****************************************************************************/ -BOOL write_file_cfg(scfg_t* cfg, int backup_level) +BOOL write_file_cfg(scfg_t* cfg) { BOOL result = FALSE; char path[MAX_PATH+1]; @@ -619,7 +620,7 @@ BOOL write_file_cfg(scfg_t* cfg, int backup_level) return FALSE; SAFEPRINTF(inipath, "%sfile.ini", cfg->ctrl_dir); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); iniSetBytes(&ini, ROOT_SECTION, "min_dspace", 1, cfg->min_dspace, NULL); @@ -831,7 +832,7 @@ BOOL write_file_cfg(scfg_t* cfg, int backup_level) /****************************************************************************/ /****************************************************************************/ -BOOL write_chat_cfg(scfg_t* cfg, int backup_level) +BOOL write_chat_cfg(scfg_t* cfg) { BOOL result = FALSE; char inipath[MAX_PATH+1]; @@ -841,7 +842,7 @@ BOOL write_chat_cfg(scfg_t* cfg, int backup_level) return FALSE; SAFEPRINTF(inipath, "%schat.ini", cfg->ctrl_dir); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); for(uint i=0; i<cfg->total_gurus; i++) { @@ -888,7 +889,7 @@ BOOL write_chat_cfg(scfg_t* cfg, int backup_level) /****************************************************************************/ /****************************************************************************/ -BOOL write_xtrn_cfg(scfg_t* cfg, int backup_level) +BOOL write_xtrn_cfg(scfg_t* cfg) { BOOL result = FALSE; char inipath[MAX_PATH+1]; @@ -898,7 +899,7 @@ BOOL write_xtrn_cfg(scfg_t* cfg, int backup_level) return FALSE; SAFEPRINTF(inipath, "%sxtrn.ini", cfg->ctrl_dir); - backup(inipath, backup_level, TRUE); + backup(inipath, cfg->config_backup_level, TRUE); str_list_t ini = strListInit(); for(uint i=0; i<cfg->total_xedits; i++) { diff --git a/src/sbbs3/scfgsave.h b/src/sbbs3/scfgsave.h index 15ce25b7cfce9e89bf9050a137b25c32175619a4..84069e98ce126c03df5fa2804761808d6285d866 100644 --- a/src/sbbs3/scfgsave.h +++ b/src/sbbs3/scfgsave.h @@ -27,13 +27,13 @@ extern "C" { #endif -DLLEXPORT BOOL save_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_node_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_main_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_msgs_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_file_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_chat_cfg(scfg_t* cfg, int backup_level); -DLLEXPORT BOOL write_xtrn_cfg(scfg_t* cfg, int backup_level); +DLLEXPORT BOOL save_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_node_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_main_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_msgs_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_file_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_chat_cfg(scfg_t* cfg); +DLLEXPORT BOOL write_xtrn_cfg(scfg_t* cfg); DLLEXPORT void refresh_cfg(scfg_t* cfg); #ifdef __cplusplus