--- src/portage/conf/portagesettings.cc +++ src/portage/conf/portagesettings.cc @@ -42,7 +42,7 @@ using namespace std; -bool grab_masks(const char *file, Mask::Type type, MaskList *cat_map, vector *mask_vec) +bool grab_masks_file(const char *file, Mask::Type type, MaskList *cat_map, vector *mask_vec) { ifstream mask_file(file); if(mask_file.is_open()) { @@ -72,6 +72,29 @@ return false; } +bool grab_masks(const char *file_dir, Mask::Type type, MaskList *cat_map, vector *mask_vec) +{ + static const char *files_exclude[] = { "..", "." , NULL }; + vector files; + string dir(file_dir); + dir += "/"; + if(pushback_files(dir, files, files_exclude)) + { + bool rvalue=true; + for(vector::iterator it=files.begin(); + itc_str(), type, cat_map, mask_vec)) + rvalue=false; + } + return rvalue; + } + else + return grab_masks_file(file_dir, type, cat_map, mask_vec); +} + + + /** Key that should accumelate their content rathern then replace. */ static const char *default_accumulating_keys[] = { "USE",