Przeglądaj źródła

dpkg: Refactor enqueue_error_report() out from print_error_perpackage()

Guillem Jover 12 lat temu
rodzic
commit
7b97cee079
1 zmienionych plików z 15 dodań i 7 usunięć
  1. 15 7
      src/errors.c

+ 15 - 7
src/errors.c

@@ -54,15 +54,10 @@ static struct error_report *reports = NULL;
 static struct error_report **lastreport= &reports;
 static struct error_report emergency;
 
-void
-print_error_perpackage(const char *emsg, const void *data)
+static void
+enqueue_error_report(const char *arg)
 {
   struct error_report *nr;
-  const char *arg = data;
-
-  notice(_("error processing %s (--%s):\n %s"), arg, cipaction->olong, emsg);
-
-  statusfd_send("status: %s : %s : %s", arg, "error", emsg);
 
   nr= malloc(sizeof(struct error_report));
   if (!nr) {
@@ -81,6 +76,19 @@ print_error_perpackage(const char *emsg, const void *data)
   abort_processing = true;
 }
 
+void
+print_error_perpackage(const char *emsg, const void *data)
+{
+  const char *pkgname = data;
+
+  notice(_("error processing %s (--%s):\n %s"),
+         pkgname, cipaction->olong, emsg);
+
+  statusfd_send("status: %s : %s : %s", pkgname, "error", emsg);
+
+  enqueue_error_report(pkgname);
+}
+
 int
 reportbroken_retexitstatus(int ret)
 {