private void DistributeExtensionOptions() { string[] opt_names = new string[Options.Count]; Options.Keys.CopyTo(opt_names, 0); foreach (string option in opt_names) { foreach (DictionaryEntry ext_entry in Extensions) { PhpLibraryDescriptor descriptor = (PhpLibraryDescriptor)ext_entry.Key; Hashtable ext_options = (Hashtable)ext_entry.Value; string ext_name = Path.ChangeExtension(descriptor.RealAssembly.GetName().Name, null); if (Externals.IniOptionExists(ext_name, option)) { ext_options.Add(option, Options[option]); Options.Remove(option); } } } }