Index: src/sch-rnd/file_act.c =================================================================== --- src/sch-rnd/file_act.c (revision 10224) +++ src/sch-rnd/file_act.c (revision 10225) @@ -87,16 +87,10 @@ return 0; } -static const char csch_acts_SymlibReloadAllLocal[] = "SymlibReloadAllLocal()"; -static const char csch_acth_SymlibReloadAllLocal[] = "Replace all local symbols from a newer version of the same symbol from the symbol library"; -static fgw_error_t csch_act_SymlibReloadAllLocal(fgw_arg_t *res, int argc, fgw_arg_t *argv) +static long lib_reload_all(csch_sheet_t *sheet, csch_lib_root_t *libroot) { - csch_sheet_t *sheet = CSCH_ACT_SHEET; - long cnt = 0, n, i; - csch_lib_root_t *libroot; - csch_lib_master_t *master = csch_lib_get_master("symbol", 0); + long n, i, cnt = 0; - libroot = sheet->local_libs.array[master->uid]; for(n = 0; n < libroot->roots.used; n++) { csch_lib_t *root = libroot->roots.array[n]; if (strcmp(root->name, "") == 0) { @@ -111,6 +105,18 @@ } } + return cnt; +} + +static const char csch_acts_SymlibReloadAllLocal[] = "SymlibReloadAllLocal()"; +static const char csch_acth_SymlibReloadAllLocal[] = "Replace all local symbols from a newer version of the same symbol from the symbol library"; +static fgw_error_t csch_act_SymlibReloadAllLocal(fgw_arg_t *res, int argc, fgw_arg_t *argv) +{ + csch_sheet_t *sheet = CSCH_ACT_SHEET; + csch_lib_master_t *master = csch_lib_get_master("symbol", 0); + long cnt; + + cnt = lib_reload_all(sheet, sheet->local_libs.array[master->uid]); rnd_message(RND_MSG_INFO, "Reloaded %ld local lib symbol(s) from external libs\n", cnt); rnd_event(&sheet->hidlib, CSCH_EVENT_LIBRARY_CHANGED, NULL);