sfree(dp.errtitle);
int do_reconfig(HWND hwnd){    Config backup_cfg;    int ret;    backup_cfg = cfg;		       /* structure copy */    ctrlbox = ctrl_new_box();    setup_config_box(ctrlbox, NULL, TRUE, cfg.protocol);    win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), TRUE);    dp_init(&dp);    winctrl_init(&ctrls_base);    winctrl_init(&ctrls_panel);    dp_add_tree(&dp, &ctrls_base);    dp_add_tree(&dp, &ctrls_panel);    dp.wintitle = dupprintf("%s Reconfiguration", appname);    dp.errtitle = dupprintf("%s Error", appname);    dp.data = &cfg;    dp.shortcuts['g'] = TRUE;	       /* the treeview: `Cate&gory' */    ret = SaneDialogBox(hinst, MAKEINTRESOURCE(IDD_MAINBOX), NULL,		  GenericMainDlgProc);    ctrl_free_box(ctrlbox);    winctrl_cleanup(&ctrls_base);    winctrl_cleanup(&ctrls_panel);    sfree(dp.errtitle);    dp_cleanup(&dp);    if (!ret)	cfg = backup_cfg;	       /* structure copy */    return ret;}