+2002-01-23 Alexandra Ellwood <lxs@mit.edu>
+
+ * prof_init.c, prof_tree.c: Fixed calls to profile_update_file_data to handle
+ the possibility that we have lost permission to read one of the configuration
+ files in the file list. We should only fail catastrophically (EACCES) if we
+ can't read all of the files in the profile.
+
2001-12-05 Ezra Peisach <epeisach@mit.edu>
* test_profile.c (main): Call profile_release() before exiting
for (fs = files; !PROFILE_LAST_FILESPEC(*fs); fs++) {
retval = profile_open_file(*fs, &new_file);
/* if this file is missing, skip to the next */
- if (retval == ENOENT) {
+ if (retval == ENOENT || retval == EACCES) {
continue;
}
if (retval) {
return 0;
}
if ((retval = profile_update_file(iter->file))) {
- profile_node_iterator_free(iter_p);
- return retval;
+ if (retval == ENOENT || retval == EACCES) {
+ iter->file = iter->file->next;
+ skip_num = 0;
+ retval = 0;
+ goto get_new_file;
+ } else {
+ profile_node_iterator_free(iter_p);
+ return retval;
+ }
}
iter->file_serial = iter->file->upd_serial;
/*