rem: catch (ECA_ERROR*) { }
add: catch (ECA_ERROR&) { }
context: vector<EFFECT_LADSPA*> create_plugins(const string& fname) throw(ECA_ERROR*) {   vector<EFFECT_LADSPA*> plugins;  void *plugin_handle = dlopen(fname.c_str(), RTLD_NOW);  if (plugin_handle == 0)     throw(new ECA_ERROR("ECA_STATIC_OBJECT_MAPS", string("Unable to open plugin file \"") + fname + "\"."));  LADSPA_Descriptor_Function desc_func;    desc_func = (LADSPA_Descriptor_Function)dlsym(plugin_handle, "ladspa_descriptor");  if (desc_func == 0)    throw(new ECA_ERROR("ECA_STATIC_OBJECT_MAPS", "Unable find plugin LADSPA-descriptor."));  const LADSPA_Descriptor *plugin_desc = 0;  for (int i = 0;; i++) {    plugin_desc = desc_func(i);    if (plugin_desc == 0) break;    try {      plugins.push_back(new EFFECT_LADSPA(plugin_desc));    }    catch (ECA_ERROR*) { }    plugin_desc = 0;  }  //  if (plugin_handle != 0) dlclose(plugin_handle);  return(plugins);}