Prefer structure assignment over memcpy. Found by cocci/struct_assign.cocci
Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- examples/ip_pipeline/parser.c | 2 +- lib/pipeline/rte_pipeline.c | 6 ++--- lib/pipeline/rte_swx_ctl.c | 2 +- lib/pipeline/rte_swx_ipsec.c | 2 +- lib/pipeline/rte_swx_pipeline_spec.c | 36 ++++++++++------------------ 5 files changed, 18 insertions(+), 30 deletions(-) diff --git a/examples/ip_pipeline/parser.c b/examples/ip_pipeline/parser.c index dfca026be5..8baa70e1f4 100644 --- a/examples/ip_pipeline/parser.c +++ b/examples/ip_pipeline/parser.c @@ -407,7 +407,7 @@ parse_mac_addr(const char *token, struct rte_ether_addr *addr) if (tmp == NULL) return -1; - memcpy(addr, tmp, sizeof(struct rte_ether_addr)); + *addr = *tmp; return 0; } diff --git a/lib/pipeline/rte_pipeline.c b/lib/pipeline/rte_pipeline.c index a09a89f746..bad85341c9 100644 --- a/lib/pipeline/rte_pipeline.c +++ b/lib/pipeline/rte_pipeline.c @@ -368,7 +368,7 @@ rte_pipeline_table_create(struct rte_pipeline *p, *table_id = id; /* Save input parameters */ - memcpy(&table->ops, params->ops, sizeof(struct rte_table_ops)); + table->ops = *params->ops; table->f_action_hit = params->f_action_hit; table->f_action_miss = params->f_action_miss; table->arg_ah = params->arg_ah; @@ -831,7 +831,7 @@ rte_pipeline_port_in_create(struct rte_pipeline *p, *port_id = id; /* Save input parameters */ - memcpy(&port->ops, params->ops, sizeof(struct rte_port_in_ops)); + port->ops = *params->ops; port->f_action = params->f_action; port->arg_ah = params->arg_ah; port->burst_size = params->burst_size; @@ -881,7 +881,7 @@ rte_pipeline_port_out_create(struct rte_pipeline *p, *port_id = id; /* Save input parameters */ - memcpy(&port->ops, params->ops, sizeof(struct rte_port_out_ops)); + port->ops = *params->ops; port->f_action = params->f_action; port->arg_ah = params->arg_ah; diff --git a/lib/pipeline/rte_swx_ctl.c b/lib/pipeline/rte_swx_ctl.c index 857770d297..db83c31c7c 100644 --- a/lib/pipeline/rte_swx_ctl.c +++ b/lib/pipeline/rte_swx_ctl.c @@ -832,7 +832,7 @@ selector_group_duplicate_to_pending(struct selector *s, uint32_t group_id) if (!mp) goto error; - memcpy(mp, m, sizeof(struct rte_swx_table_selector_member)); + *mp = *m; TAILQ_INSERT_TAIL(&gp->members, mp, node); } diff --git a/lib/pipeline/rte_swx_ipsec.c b/lib/pipeline/rte_swx_ipsec.c index 17a9d2b98b..e710ba2f9d 100644 --- a/lib/pipeline/rte_swx_ipsec.c +++ b/lib/pipeline/rte_swx_ipsec.c @@ -366,7 +366,7 @@ rte_swx_ipsec_create(struct rte_swx_ipsec **ipsec_out, ipsec->ring_out = ring_out; ipsec->dev_id = (uint8_t)dev_id; ipsec->qp_id = params->crypto_dev_queue_pair_id; - memcpy(&ipsec->bsz, ¶ms->bsz, sizeof(struct rte_swx_ipsec_burst_size)); + ipsec->bsz = params->bsz; ipsec->n_sa_max = n_sa_max; ipsec->crypto_wr_threshold = params->bsz.crypto_wr * 3 / 4; diff --git a/lib/pipeline/rte_swx_pipeline_spec.c b/lib/pipeline/rte_swx_pipeline_spec.c index 17419e7b85..986bbe5fd4 100644 --- a/lib/pipeline/rte_swx_pipeline_spec.c +++ b/lib/pipeline/rte_swx_pipeline_spec.c @@ -2985,7 +2985,7 @@ pipeline_spec_parse(FILE *spec, } s->structs = new_structs; - memcpy(&s->structs[s->n_structs], &struct_spec, sizeof(struct struct_spec)); + s->structs[s->n_structs] = struct_spec; s->n_structs++; memset(&struct_spec, 0, sizeof(struct struct_spec)); @@ -3022,7 +3022,7 @@ pipeline_spec_parse(FILE *spec, } s->actions = new_actions; - memcpy(&s->actions[s->n_actions], &action_spec, sizeof(struct action_spec)); + s->actions[s->n_actions] = action_spec; s->n_actions++; memset(&action_spec, 0, sizeof(struct action_spec)); @@ -3059,7 +3059,7 @@ pipeline_spec_parse(FILE *spec, } s->tables = new_tables; - memcpy(&s->tables[s->n_tables], &table_spec, sizeof(struct table_spec)); + s->tables[s->n_tables] = table_spec; s->n_tables++; memset(&table_spec, 0, sizeof(struct table_spec)); @@ -3096,9 +3096,7 @@ pipeline_spec_parse(FILE *spec, } s->selectors = new_selectors; - memcpy(&s->selectors[s->n_selectors], - &selector_spec, - sizeof(struct selector_spec)); + s->selectors[s->n_selectors] = selector_spec; s->n_selectors++; memset(&selector_spec, 0, sizeof(struct selector_spec)); @@ -3135,9 +3133,7 @@ pipeline_spec_parse(FILE *spec, } s->learners = new_learners; - memcpy(&s->learners[s->n_learners], - &learner_spec, - sizeof(struct learner_spec)); + s->learners[s->n_learners] = learner_spec; s->n_learners++; memset(&learner_spec, 0, sizeof(struct learner_spec)); @@ -3173,7 +3169,7 @@ pipeline_spec_parse(FILE *spec, } s->apply = new_apply; - memcpy(&s->apply[s->n_apply], &apply_spec, sizeof(struct apply_spec)); + s->apply[s->n_apply] = apply_spec; s->n_apply++; memset(&apply_spec, 0, sizeof(struct apply_spec)); @@ -3205,7 +3201,7 @@ pipeline_spec_parse(FILE *spec, } s->extobjs = new_extobjs; - memcpy(&s->extobjs[s->n_extobjs], &extobj_spec, sizeof(struct extobj_spec)); + s->extobjs[s->n_extobjs] = extobj_spec; s->n_extobjs++; memset(&extobj_spec, 0, sizeof(struct extobj_spec)); @@ -3252,7 +3248,7 @@ pipeline_spec_parse(FILE *spec, } s->headers = new_headers; - memcpy(&s->headers[s->n_headers], &header_spec, sizeof(struct header_spec)); + s->headers[s->n_headers] = header_spec; s->n_headers++; memset(&header_spec, 0, sizeof(struct header_spec)); @@ -3284,9 +3280,7 @@ pipeline_spec_parse(FILE *spec, } s->metadata = new_metadata; - memcpy(&s->metadata[s->n_metadata], - &metadata_spec, - sizeof(struct metadata_spec)); + s->metadata[s->n_metadata] = metadata_spec; s->n_metadata++; memset(&metadata_spec, 0, sizeof(struct metadata_spec)); @@ -3378,9 +3372,7 @@ pipeline_spec_parse(FILE *spec, } s->regarrays = new_regarrays; - memcpy(&s->regarrays[s->n_regarrays], - ®array_spec, - sizeof(struct regarray_spec)); + s->regarrays[s->n_regarrays] = regarray_spec; s->n_regarrays++; memset(®array_spec, 0, sizeof(struct regarray_spec)); @@ -3412,9 +3404,7 @@ pipeline_spec_parse(FILE *spec, } s->metarrays = new_metarrays; - memcpy(&s->metarrays[s->n_metarrays], - &metarray_spec, - sizeof(struct metarray_spec)); + s->metarrays[s->n_metarrays] = metarray_spec; s->n_metarrays++; memset(&metarray_spec, 0, sizeof(struct metarray_spec)); @@ -3446,9 +3436,7 @@ pipeline_spec_parse(FILE *spec, } s->rss = new_rss; - memcpy(&s->rss[s->n_rss], - &rss_spec, - sizeof(struct rss_spec)); + s->rss[s->n_rss] = rss_spec; s->n_rss++; memset(&rss_spec, 0, sizeof(struct rss_spec)); -- 2.47.2