@malmond77 commented on this pull request.


>  
     for (i = 0; i < plugins->count; i++) {
        rpmPlugin plugin = plugins->plugins[i];
        RPMPLUGINS_SET_HOOK_FUNC(fsm_file_pre);
-       if (hookFunc && hookFunc(plugin, fi, path, file_mode, op) == 
RPMRC_FAIL) {
-           rpmlog(RPMLOG_ERR, "Plugin %s: hook fsm_file_pre failed\n", 
plugin->name);
-           rc = RPMRC_FAIL;
+       if (hookFunc) {
+           hook_rc = hookFunc(plugin, fi, path, file_mode, op);
+           if (hook_rc == RPMRC_FAIL) {
+               rpmlog(RPMLOG_ERR, "Plugin %s: hook fsm_file_pre failed\n", 
plugin->name);
+               rc = RPMRC_FAIL;
+           } else if (hook_rc == RPMRC_PLUGIN_CONTENTS && rc != RPMRC_FAIL) {
+               if (rc == RPMRC_PLUGIN_CONTENTS) {
+                   /*
+                   Another plugin already said it'd handle contents. It's 
undefined how
+                   these would combine, so treat this as a failure condition.
+                   */

Addressed in 91f7284e961cdbecdfec5beedbce03ee2f0fbd85

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1470#discussion_r567521342
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to