From 051be757db25c8ac7e6c4beb1ec219b4fde3641c Mon Sep 17 00:00:00 2001
From: lifeng68 <lifeng68@huawei.com>
Date: Sat, 5 Dec 2020 10:24:58 +0800
Subject: [PATCH 18/18] clean code: ignore list containers error

Signed-off-by: lifeng68 <lifeng68@huawei.com>
---
 src/daemon/executor/container_cb/list.c | 82 +++++++++++++++----------
 1 file changed, 51 insertions(+), 31 deletions(-)

diff --git a/src/daemon/executor/container_cb/list.c b/src/daemon/executor/container_cb/list.c
index 4c9c9ed..3dea940 100644
--- a/src/daemon/executor/container_cb/list.c
+++ b/src/daemon/executor/container_cb/list.c
@@ -311,44 +311,73 @@ static void dup_id_name(const container_config_v2_common_config *common_config,
     }
 }
 
-static int convert_common_config_info(const map_t *map_labels, const container_config_v2_common_config *common_config,
-                                      container_container *isuladinfo)
+static void dup_container_labels(const map_t *map_labels, const container_config_v2_common_config *common_config,
+                                 container_container *isuladinfo)
 {
     int ret = 0;
-    bool args_err = false;
-
-    if (map_labels == NULL || common_config == NULL || isuladinfo == NULL) {
-        return -1;
-    }
 
     if (common_config->config == NULL) {
-        return 0;
+        return;
     }
-    args_err = (common_config->config->labels != NULL && common_config->config->labels->len != 0);
-    if (args_err) {
+
+    if (common_config->config->labels != NULL && common_config->config->labels->len != 0) {
         json_map_string_string *labels = common_config->config->labels;
 
         ret = replace_labels(isuladinfo, labels, map_labels);
-        if (ret == -1) {
-            goto out;
+        if (ret != 0) {
+            ERROR("Failed to dup container %s labels", common_config->id);
         }
     }
 
+    return;
+}
+
+static void dup_container_annotations(const container_config_v2_common_config *common_config,
+                                      container_container *isuladinfo)
+{
+    int ret = 0;
+
+    if (common_config->config == NULL) {
+        return;
+    }
+
     ret = replace_annotations(common_config, isuladinfo);
-    if (ret == -1) {
-        goto out;
+    if (ret != 0) {
+        ERROR("Failed to dup container %s annotations", common_config->id);
     }
 
-    dup_id_name(common_config, isuladinfo);
-    args_err = (common_config->created != NULL &&
-                util_to_unix_nanos_from_str(common_config->created, &isuladinfo->created) != 0);
-    if (args_err) {
-        ret = -1;
-        goto out;
+    return;
+}
+
+static void dup_container_created_time(const container_config_v2_common_config *common_config,
+                                       container_container *isuladinfo)
+{
+    if (common_config->created != NULL &&
+        util_to_unix_nanos_from_str(common_config->created, &isuladinfo->created) != 0) {
+        ERROR("Failed to dup container %s created time", common_config->id);
+    }
+
+    return;
+}
+
+static int convert_common_config_info(const map_t *map_labels, const container_config_v2_common_config *common_config,
+                                      container_container *isuladinfo)
+{
+    if (map_labels == NULL || common_config == NULL || isuladinfo == NULL) {
+        return -1;
     }
+
+    dup_id_name(common_config, isuladinfo);
+
     isuladinfo->restartcount = (uint64_t)common_config->restart_count;
-out:
-    return ret;
+
+    dup_container_labels(map_labels, common_config, isuladinfo);
+
+    dup_container_annotations(common_config, isuladinfo);
+
+    dup_container_created_time(common_config, isuladinfo);
+
+    return 0;
 }
 
 static int container_info_match(const struct list_context *ctx, const map_t *map_labels,
@@ -413,7 +442,6 @@ static int fill_isuladinfo(container_container *isuladinfo, const container_conf
     char *image = NULL;
     char *timestr = NULL;
     char *defvalue = "-";
-    int64_t created_nanos = 0;
 
     ret = convert_common_config_info(map_labels, cont->common_config, isuladinfo);
     if (ret != 0) {
@@ -438,14 +466,6 @@ static int fill_isuladinfo(container_container *isuladinfo, const container_conf
     isuladinfo->runtime = cont->runtime ? util_strdup_s(cont->runtime) : util_strdup_s("none");
 
     isuladinfo->health_state = container_get_health_state(cont_state);
-    if (cont->common_config->created != NULL) {
-        ret = util_to_unix_nanos_from_str(cont->common_config->created, &created_nanos);
-        if (ret != 0) {
-            goto out;
-        }
-    }
-
-    isuladinfo->created = created_nanos;
 
 out:
     return ret;
-- 
2.25.1

