Message ID | 20170807180133.19988-3-joe@ovn.org |
---|---|
State | Changes Requested |
Headers | show |
Thanks for working on it! I think new_ is not a good name. Could you please try to revise it? like: old --> old_datum new -->new_datum BTW, you also need to update 'new' in the description of struct ovsdb_idl_row which in the top of lib/ovsdb-idl-provider.h Thanks Zhenyu Gao 2017-08-08 2:01 GMT+08:00 Joe Stringer <joe@ovn.org>: > In C++, 'new' is a keyword. If this is used as the name for a field, > then C++ compilers can get confused about the context and fail to > compile references to such fields. Rename the field to 'new_' to avoid > this issue. > > Signed-off-by: Joe Stringer <joe@ovn.org> > --- > lib/ovsdb-data.h | 4 +-- > lib/ovsdb-idl-provider.h | 2 +- > lib/ovsdb-idl.c | 76 ++++++++++++++++++++++++------ > ------------------ > 3 files changed, 41 insertions(+), 41 deletions(-) > > diff --git a/lib/ovsdb-data.h b/lib/ovsdb-data.h > index 1bf90d59c30f..521bc553897a 100644 > --- a/lib/ovsdb-data.h > +++ b/lib/ovsdb-data.h > @@ -222,10 +222,10 @@ void ovsdb_datum_subtract(struct ovsdb_datum *a, > /* Generate and apply diffs */ > void ovsdb_datum_diff(struct ovsdb_datum *diff, > const struct ovsdb_datum *old, > - const struct ovsdb_datum *new, > + const struct ovsdb_datum *new_, > const struct ovsdb_type *type); > > -struct ovsdb_error *ovsdb_datum_apply_diff(struct ovsdb_datum *new, > +struct ovsdb_error *ovsdb_datum_apply_diff(struct ovsdb_datum *new_, > const struct ovsdb_datum *old, > const struct ovsdb_datum *diff, > const struct ovsdb_type *type) > diff --git a/lib/ovsdb-idl-provider.h b/lib/ovsdb-idl-provider.h > index 09cff143f07f..3578f89cb07c 100644 > --- a/lib/ovsdb-idl-provider.h > +++ b/lib/ovsdb-idl-provider.h > @@ -70,7 +70,7 @@ struct ovsdb_idl_row { > struct ovsdb_datum *old; /* Committed data (null if orphaned). */ > > /* Transactional data. */ > - struct ovsdb_datum *new; /* Modified data (null to delete row). */ > + struct ovsdb_datum *new_; /* Modified data (null to delete row). */ > unsigned long int *prereqs; /* Bitmap of columns to verify in "old". > */ > unsigned long int *written; /* Bitmap of columns from "new" to write. > */ > struct hmap_node txn_node; /* Node in ovsdb_idl_txn's list. */ > diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c > index d0ecad7cf097..41f98a7df74c 100644 > --- a/lib/ovsdb-idl.c > +++ b/lib/ovsdb-idl.c > @@ -761,11 +761,11 @@ ovsdb_idl_check_consistency(const struct ovsdb_idl > *idl) > const struct ovsdb_idl_row *row; > HMAP_FOR_EACH (row, hmap_node, &table->rows) { > size_t n_dsts = 0; > - if (row->new) { > + if (row->new_) { > size_t n_columns = shash_count(&row->table->columns); > for (size_t j = 0; j < n_columns; j++) { > const struct ovsdb_type *type = > &class->columns[j].type; > - const struct ovsdb_datum *datum = &row->new[j]; > + const struct ovsdb_datum *datum = &row->new_[j]; > add_row_references(&type->key, > datum->keys, datum->n, &row->uuid, > &dsts, &n_dsts, &allocated_dsts); > @@ -1978,7 +1978,7 @@ ovsdb_idl_row_apply_diff(struct ovsdb_idl_row *row, > static bool > ovsdb_idl_row_is_orphan(const struct ovsdb_idl_row *row) > { > - return !row->old && !row->new; > + return !row->old && !row->new_; > } > > /* Returns true if 'row' is conceptually part of the database as modified > by > @@ -2000,7 +2000,7 @@ ovsdb_idl_row_is_orphan(const struct ovsdb_idl_row > *row) > static bool > ovsdb_idl_row_exists(const struct ovsdb_idl_row *row) > { > - return row->new != NULL; > + return row->new_ != NULL; > } > > static void > @@ -2030,7 +2030,7 @@ ovsdb_idl_row_unparse(struct ovsdb_idl_row *row) > static void > ovsdb_idl_row_clear_old(struct ovsdb_idl_row *row) > { > - ovs_assert(row->old == row->new); > + ovs_assert(row->old == row->new_); > if (!ovsdb_idl_row_is_orphan(row)) { > const struct ovsdb_idl_table_class *class = row->table->class_; > size_t i; > @@ -2039,28 +2039,28 @@ ovsdb_idl_row_clear_old(struct ovsdb_idl_row *row) > ovsdb_datum_destroy(&row->old[i], &class->columns[i].type); > } > free(row->old); > - row->old = row->new = NULL; > + row->old = row->new_ = NULL; > } > } > > static void > ovsdb_idl_row_clear_new(struct ovsdb_idl_row *row) > { > - if (row->old != row->new) { > - if (row->new) { > + if (row->old != row->new_) { > + if (row->new_) { > const struct ovsdb_idl_table_class *class = > row->table->class_; > size_t i; > > if (row->written) { > BITMAP_FOR_EACH_1 (i, class->n_columns, row->written) { > - ovsdb_datum_destroy(&row->new[i], > &class->columns[i].type); > + ovsdb_datum_destroy(&row->new_[i], > &class->columns[i].type); > } > } > - free(row->new); > + free(row->new_); > free(row->written); > row->written = NULL; > } > - row->new = row->old; > + row->new_ = row->old; > } > } > > @@ -2226,8 +2226,8 @@ ovsdb_idl_insert_row(struct ovsdb_idl_row *row, > const struct json *row_json) > const struct ovsdb_idl_table_class *class = row->table->class_; > size_t i; > > - ovs_assert(!row->old && !row->new); > - row->old = row->new = xmalloc(class->n_columns * sizeof *row->old); > + ovs_assert(!row->old && !row->new_); > + row->old = row->new_ = xmalloc(class->n_columns * sizeof *row->old); > for (i = 0; i < class->n_columns; i++) { > ovsdb_datum_init_default(&row->old[i], &class->columns[i].type); > } > @@ -2330,7 +2330,7 @@ ovsdb_idl_get_row_arc(struct ovsdb_idl_row *src, > * > * Just return the destination row, if there is one and it has > not been > * deleted. */ > - if (dst && (hmap_node_is_null(&dst->txn_node) || dst->new)) { > + if (dst && (hmap_node_is_null(&dst->txn_node) || dst->new_)) { > return dst; > } > return NULL; > @@ -2427,11 +2427,11 @@ ovsdb_idl_read(const struct ovsdb_idl_row *row, > class = row->table->class_; > column_idx = column - class->columns; > > - ovs_assert(row->new != NULL); > + ovs_assert(row->new_ != NULL); > ovs_assert(column_idx < class->n_columns); > > if (row->written && bitmap_is_set(row->written, column_idx)) { > - return &row->new[column_idx]; > + return &row->new_[column_idx]; > } else if (row->old) { > return &row->old[column_idx]; > } else { > @@ -2470,7 +2470,7 @@ bool > ovsdb_idl_is_mutable(const struct ovsdb_idl_row *row, > const struct ovsdb_idl_column *column) > { > - return column->mutable || (row->new && !row->old); > + return column->mutable || (row->new_ && !row->old); > } > > /* Returns false if 'row' was obtained from the IDL, true if it was > initialized > @@ -2699,7 +2699,7 @@ substitute_uuids(struct json *json, const struct > ovsdb_idl_txn *txn) > const struct ovsdb_idl_row *row; > > row = ovsdb_idl_txn_get_row(txn, &uuid); > - if (row && !row->old && row->new) { > + if (row && !row->old && row->new_) { > json_destroy(json); > > return json_array_create_2( > @@ -2788,8 +2788,8 @@ ovsdb_idl_txn_extract_mutations(struct > ovsdb_idl_row *row, > value_type = column->type.value.type; > > /* Get the value to be changed */ > - if (row->new && row->written && bitmap_is_set(row->written,idx)) > { > - old_datum = &row->new[idx]; > + if (row->new_ && row->written && bitmap_is_set(row->written,idx)) > { > + old_datum = &row->new_[idx]; > } else if (row->old != NULL) { > old_datum = &row->old[idx]; > } else { > @@ -2896,8 +2896,8 @@ ovsdb_idl_txn_extract_mutations(struct > ovsdb_idl_row *row, > key_type = column->type.key.type; > > /* Get the value to be changed */ > - if (row->new && row->written && bitmap_is_set(row->written,idx)) > { > - old_datum = &row->new[idx]; > + if (row->new_ && row->written && bitmap_is_set(row->written,idx)) > { > + old_datum = &row->new_[idx]; > } else if (row->old != NULL) { > old_datum = &row->old[idx]; > } else { > @@ -3072,7 +3072,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) > HMAP_FOR_EACH (row, txn_node, &txn->txn_rows) { > const struct ovsdb_idl_table_class *class = row->table->class_; > > - if (!row->new) { > + if (!row->new_) { > if (class->is_root) { > struct json *op = json_object_create(); > json_object_put_string(op, "op", "delete"); > @@ -3083,7 +3083,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) > } else { > /* Let ovsdb-server decide whether to really delete it. */ > } > - } else if (row->old != row->new) { > + } else if (row->old != row->new_) { > struct json *row_json; > struct json *op; > size_t idx; > @@ -3118,11 +3118,11 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) > > &class->columns[idx]; > > if (row->old > - || !ovsdb_datum_is_default(&row->new[idx], > + || !ovsdb_datum_is_default(&row->new_[idx], > &column->type)) { > json_object_put(row_json, column->name, > substitute_uuids( > - ovsdb_datum_to_json(&row->new[ > idx], > + ovsdb_datum_to_json(&row->new_ > [idx], > > &column->type), > txn)); > > @@ -3131,7 +3131,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) > * or transactions would become nonatomic (see > the big > * comment inside ovsdb_idl_txn_write()). */ > if (!any_updates && row->old && > - !ovsdb_datum_equals(&row->old[idx], > &row->new[idx], > + !ovsdb_datum_equals(&row->old[idx], > &row->new_[idx], > &column->type)) { > any_updates = true; > } > @@ -3370,7 +3370,7 @@ ovsdb_idl_txn_write__(const struct ovsdb_idl_row > *row_, > column_idx = column - class->columns; > write_only = row->table->modes[column_idx] == OVSDB_IDL_MONITOR; > > - ovs_assert(row->new != NULL); > + ovs_assert(row->new_ != NULL); > ovs_assert(column_idx < class->n_columns); > ovs_assert(row->old == NULL || > row->table->modes[column_idx] & OVSDB_IDL_MONITOR); > @@ -3401,24 +3401,24 @@ ovsdb_idl_txn_write__(const struct ovsdb_idl_row > *row_, > hmap_insert(&row->table->idl->txn->txn_rows, &row->txn_node, > uuid_hash(&row->uuid)); > } > - if (row->old == row->new) { > - row->new = xmalloc(class->n_columns * sizeof *row->new); > + if (row->old == row->new_) { > + row->new_ = xmalloc(class->n_columns * sizeof *row->new_); > } > if (!row->written) { > row->written = bitmap_allocate(class->n_columns); > } > if (bitmap_is_set(row->written, column_idx)) { > - ovsdb_datum_destroy(&row->new[column_idx], &column->type); > + ovsdb_datum_destroy(&row->new_[column_idx], &column->type); > } else { > bitmap_set1(row->written, column_idx); > } > if (owns_datum) { > - row->new[column_idx] = *datum; > + row->new_[column_idx] = *datum; > } else { > - ovsdb_datum_clone(&row->new[column_idx], datum, &column->type); > + ovsdb_datum_clone(&row->new_[column_idx], datum, &column->type); > } > (column->unparse)(row); > - (column->parse)(row, &row->new[column_idx]); > + (column->parse)(row, &row->new_[column_idx]); > return; > > discard_datum: > @@ -3511,7 +3511,7 @@ ovsdb_idl_txn_verify(const struct ovsdb_idl_row > *row_, > class = row->table->class_; > column_idx = column - class->columns; > > - ovs_assert(row->new != NULL); > + ovs_assert(row->new_ != NULL); > ovs_assert(row->old == NULL || > row->table->modes[column_idx] & OVSDB_IDL_MONITOR); > if (!row->old > @@ -3545,7 +3545,7 @@ ovsdb_idl_txn_delete(const struct ovsdb_idl_row > *row_) > return; > } > > - ovs_assert(row->new != NULL); > + ovs_assert(row->new_ != NULL); > if (!row->old) { > ovsdb_idl_row_unparse(row); > ovsdb_idl_row_clear_new(row); > @@ -3560,7 +3560,7 @@ ovsdb_idl_txn_delete(const struct ovsdb_idl_row > *row_) > uuid_hash(&row->uuid)); > } > ovsdb_idl_row_clear_new(row); > - row->new = NULL; > + row->new_ = NULL; > } > > /* Inserts and returns a new row in the table with the specified 'class' > in the > @@ -3590,7 +3590,7 @@ ovsdb_idl_txn_insert(struct ovsdb_idl_txn *txn, > } > > row->table = ovsdb_idl_table_from_class(txn->idl, class); > - row->new = xmalloc(class->n_columns * sizeof *row->new); > + row->new_ = xmalloc(class->n_columns * sizeof *row->new_); > hmap_insert(&row->table->rows, &row->hmap_node, > uuid_hash(&row->uuid)); > hmap_insert(&txn->txn_rows, &row->txn_node, uuid_hash(&row->uuid)); > return row; > -- > 2.13.3 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On 8 August 2017 at 00:46, Gao Zhenyu <sysugaozhenyu@gmail.com> wrote: > Thanks for working on it! > > I think new_ is not a good name. Could you please try to revise it? > like: old --> old_datum > new -->new_datum Sure thing, that's a better name. > BTW, you also need to update 'new' in the description of struct > ovsdb_idl_row which in the top of lib/ovsdb-idl-provider.h Good spotting. I'll wait a little while to see if there is any more feedback, then respin the series to address these points. Cheers, Joe
diff --git a/lib/ovsdb-data.h b/lib/ovsdb-data.h index 1bf90d59c30f..521bc553897a 100644 --- a/lib/ovsdb-data.h +++ b/lib/ovsdb-data.h @@ -222,10 +222,10 @@ void ovsdb_datum_subtract(struct ovsdb_datum *a, /* Generate and apply diffs */ void ovsdb_datum_diff(struct ovsdb_datum *diff, const struct ovsdb_datum *old, - const struct ovsdb_datum *new, + const struct ovsdb_datum *new_, const struct ovsdb_type *type); -struct ovsdb_error *ovsdb_datum_apply_diff(struct ovsdb_datum *new, +struct ovsdb_error *ovsdb_datum_apply_diff(struct ovsdb_datum *new_, const struct ovsdb_datum *old, const struct ovsdb_datum *diff, const struct ovsdb_type *type) diff --git a/lib/ovsdb-idl-provider.h b/lib/ovsdb-idl-provider.h index 09cff143f07f..3578f89cb07c 100644 --- a/lib/ovsdb-idl-provider.h +++ b/lib/ovsdb-idl-provider.h @@ -70,7 +70,7 @@ struct ovsdb_idl_row { struct ovsdb_datum *old; /* Committed data (null if orphaned). */ /* Transactional data. */ - struct ovsdb_datum *new; /* Modified data (null to delete row). */ + struct ovsdb_datum *new_; /* Modified data (null to delete row). */ unsigned long int *prereqs; /* Bitmap of columns to verify in "old". */ unsigned long int *written; /* Bitmap of columns from "new" to write. */ struct hmap_node txn_node; /* Node in ovsdb_idl_txn's list. */ diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c index d0ecad7cf097..41f98a7df74c 100644 --- a/lib/ovsdb-idl.c +++ b/lib/ovsdb-idl.c @@ -761,11 +761,11 @@ ovsdb_idl_check_consistency(const struct ovsdb_idl *idl) const struct ovsdb_idl_row *row; HMAP_FOR_EACH (row, hmap_node, &table->rows) { size_t n_dsts = 0; - if (row->new) { + if (row->new_) { size_t n_columns = shash_count(&row->table->columns); for (size_t j = 0; j < n_columns; j++) { const struct ovsdb_type *type = &class->columns[j].type; - const struct ovsdb_datum *datum = &row->new[j]; + const struct ovsdb_datum *datum = &row->new_[j]; add_row_references(&type->key, datum->keys, datum->n, &row->uuid, &dsts, &n_dsts, &allocated_dsts); @@ -1978,7 +1978,7 @@ ovsdb_idl_row_apply_diff(struct ovsdb_idl_row *row, static bool ovsdb_idl_row_is_orphan(const struct ovsdb_idl_row *row) { - return !row->old && !row->new; + return !row->old && !row->new_; } /* Returns true if 'row' is conceptually part of the database as modified by @@ -2000,7 +2000,7 @@ ovsdb_idl_row_is_orphan(const struct ovsdb_idl_row *row) static bool ovsdb_idl_row_exists(const struct ovsdb_idl_row *row) { - return row->new != NULL; + return row->new_ != NULL; } static void @@ -2030,7 +2030,7 @@ ovsdb_idl_row_unparse(struct ovsdb_idl_row *row) static void ovsdb_idl_row_clear_old(struct ovsdb_idl_row *row) { - ovs_assert(row->old == row->new); + ovs_assert(row->old == row->new_); if (!ovsdb_idl_row_is_orphan(row)) { const struct ovsdb_idl_table_class *class = row->table->class_; size_t i; @@ -2039,28 +2039,28 @@ ovsdb_idl_row_clear_old(struct ovsdb_idl_row *row) ovsdb_datum_destroy(&row->old[i], &class->columns[i].type); } free(row->old); - row->old = row->new = NULL; + row->old = row->new_ = NULL; } } static void ovsdb_idl_row_clear_new(struct ovsdb_idl_row *row) { - if (row->old != row->new) { - if (row->new) { + if (row->old != row->new_) { + if (row->new_) { const struct ovsdb_idl_table_class *class = row->table->class_; size_t i; if (row->written) { BITMAP_FOR_EACH_1 (i, class->n_columns, row->written) { - ovsdb_datum_destroy(&row->new[i], &class->columns[i].type); + ovsdb_datum_destroy(&row->new_[i], &class->columns[i].type); } } - free(row->new); + free(row->new_); free(row->written); row->written = NULL; } - row->new = row->old; + row->new_ = row->old; } } @@ -2226,8 +2226,8 @@ ovsdb_idl_insert_row(struct ovsdb_idl_row *row, const struct json *row_json) const struct ovsdb_idl_table_class *class = row->table->class_; size_t i; - ovs_assert(!row->old && !row->new); - row->old = row->new = xmalloc(class->n_columns * sizeof *row->old); + ovs_assert(!row->old && !row->new_); + row->old = row->new_ = xmalloc(class->n_columns * sizeof *row->old); for (i = 0; i < class->n_columns; i++) { ovsdb_datum_init_default(&row->old[i], &class->columns[i].type); } @@ -2330,7 +2330,7 @@ ovsdb_idl_get_row_arc(struct ovsdb_idl_row *src, * * Just return the destination row, if there is one and it has not been * deleted. */ - if (dst && (hmap_node_is_null(&dst->txn_node) || dst->new)) { + if (dst && (hmap_node_is_null(&dst->txn_node) || dst->new_)) { return dst; } return NULL; @@ -2427,11 +2427,11 @@ ovsdb_idl_read(const struct ovsdb_idl_row *row, class = row->table->class_; column_idx = column - class->columns; - ovs_assert(row->new != NULL); + ovs_assert(row->new_ != NULL); ovs_assert(column_idx < class->n_columns); if (row->written && bitmap_is_set(row->written, column_idx)) { - return &row->new[column_idx]; + return &row->new_[column_idx]; } else if (row->old) { return &row->old[column_idx]; } else { @@ -2470,7 +2470,7 @@ bool ovsdb_idl_is_mutable(const struct ovsdb_idl_row *row, const struct ovsdb_idl_column *column) { - return column->mutable || (row->new && !row->old); + return column->mutable || (row->new_ && !row->old); } /* Returns false if 'row' was obtained from the IDL, true if it was initialized @@ -2699,7 +2699,7 @@ substitute_uuids(struct json *json, const struct ovsdb_idl_txn *txn) const struct ovsdb_idl_row *row; row = ovsdb_idl_txn_get_row(txn, &uuid); - if (row && !row->old && row->new) { + if (row && !row->old && row->new_) { json_destroy(json); return json_array_create_2( @@ -2788,8 +2788,8 @@ ovsdb_idl_txn_extract_mutations(struct ovsdb_idl_row *row, value_type = column->type.value.type; /* Get the value to be changed */ - if (row->new && row->written && bitmap_is_set(row->written,idx)) { - old_datum = &row->new[idx]; + if (row->new_ && row->written && bitmap_is_set(row->written,idx)) { + old_datum = &row->new_[idx]; } else if (row->old != NULL) { old_datum = &row->old[idx]; } else { @@ -2896,8 +2896,8 @@ ovsdb_idl_txn_extract_mutations(struct ovsdb_idl_row *row, key_type = column->type.key.type; /* Get the value to be changed */ - if (row->new && row->written && bitmap_is_set(row->written,idx)) { - old_datum = &row->new[idx]; + if (row->new_ && row->written && bitmap_is_set(row->written,idx)) { + old_datum = &row->new_[idx]; } else if (row->old != NULL) { old_datum = &row->old[idx]; } else { @@ -3072,7 +3072,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) HMAP_FOR_EACH (row, txn_node, &txn->txn_rows) { const struct ovsdb_idl_table_class *class = row->table->class_; - if (!row->new) { + if (!row->new_) { if (class->is_root) { struct json *op = json_object_create(); json_object_put_string(op, "op", "delete"); @@ -3083,7 +3083,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) } else { /* Let ovsdb-server decide whether to really delete it. */ } - } else if (row->old != row->new) { + } else if (row->old != row->new_) { struct json *row_json; struct json *op; size_t idx; @@ -3118,11 +3118,11 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) &class->columns[idx]; if (row->old - || !ovsdb_datum_is_default(&row->new[idx], + || !ovsdb_datum_is_default(&row->new_[idx], &column->type)) { json_object_put(row_json, column->name, substitute_uuids( - ovsdb_datum_to_json(&row->new[idx], + ovsdb_datum_to_json(&row->new_[idx], &column->type), txn)); @@ -3131,7 +3131,7 @@ ovsdb_idl_txn_commit(struct ovsdb_idl_txn *txn) * or transactions would become nonatomic (see the big * comment inside ovsdb_idl_txn_write()). */ if (!any_updates && row->old && - !ovsdb_datum_equals(&row->old[idx], &row->new[idx], + !ovsdb_datum_equals(&row->old[idx], &row->new_[idx], &column->type)) { any_updates = true; } @@ -3370,7 +3370,7 @@ ovsdb_idl_txn_write__(const struct ovsdb_idl_row *row_, column_idx = column - class->columns; write_only = row->table->modes[column_idx] == OVSDB_IDL_MONITOR; - ovs_assert(row->new != NULL); + ovs_assert(row->new_ != NULL); ovs_assert(column_idx < class->n_columns); ovs_assert(row->old == NULL || row->table->modes[column_idx] & OVSDB_IDL_MONITOR); @@ -3401,24 +3401,24 @@ ovsdb_idl_txn_write__(const struct ovsdb_idl_row *row_, hmap_insert(&row->table->idl->txn->txn_rows, &row->txn_node, uuid_hash(&row->uuid)); } - if (row->old == row->new) { - row->new = xmalloc(class->n_columns * sizeof *row->new); + if (row->old == row->new_) { + row->new_ = xmalloc(class->n_columns * sizeof *row->new_); } if (!row->written) { row->written = bitmap_allocate(class->n_columns); } if (bitmap_is_set(row->written, column_idx)) { - ovsdb_datum_destroy(&row->new[column_idx], &column->type); + ovsdb_datum_destroy(&row->new_[column_idx], &column->type); } else { bitmap_set1(row->written, column_idx); } if (owns_datum) { - row->new[column_idx] = *datum; + row->new_[column_idx] = *datum; } else { - ovsdb_datum_clone(&row->new[column_idx], datum, &column->type); + ovsdb_datum_clone(&row->new_[column_idx], datum, &column->type); } (column->unparse)(row); - (column->parse)(row, &row->new[column_idx]); + (column->parse)(row, &row->new_[column_idx]); return; discard_datum: @@ -3511,7 +3511,7 @@ ovsdb_idl_txn_verify(const struct ovsdb_idl_row *row_, class = row->table->class_; column_idx = column - class->columns; - ovs_assert(row->new != NULL); + ovs_assert(row->new_ != NULL); ovs_assert(row->old == NULL || row->table->modes[column_idx] & OVSDB_IDL_MONITOR); if (!row->old @@ -3545,7 +3545,7 @@ ovsdb_idl_txn_delete(const struct ovsdb_idl_row *row_) return; } - ovs_assert(row->new != NULL); + ovs_assert(row->new_ != NULL); if (!row->old) { ovsdb_idl_row_unparse(row); ovsdb_idl_row_clear_new(row); @@ -3560,7 +3560,7 @@ ovsdb_idl_txn_delete(const struct ovsdb_idl_row *row_) uuid_hash(&row->uuid)); } ovsdb_idl_row_clear_new(row); - row->new = NULL; + row->new_ = NULL; } /* Inserts and returns a new row in the table with the specified 'class' in the @@ -3590,7 +3590,7 @@ ovsdb_idl_txn_insert(struct ovsdb_idl_txn *txn, } row->table = ovsdb_idl_table_from_class(txn->idl, class); - row->new = xmalloc(class->n_columns * sizeof *row->new); + row->new_ = xmalloc(class->n_columns * sizeof *row->new_); hmap_insert(&row->table->rows, &row->hmap_node, uuid_hash(&row->uuid)); hmap_insert(&txn->txn_rows, &row->txn_node, uuid_hash(&row->uuid)); return row;
In C++, 'new' is a keyword. If this is used as the name for a field, then C++ compilers can get confused about the context and fail to compile references to such fields. Rename the field to 'new_' to avoid this issue. Signed-off-by: Joe Stringer <joe@ovn.org> --- lib/ovsdb-data.h | 4 +-- lib/ovsdb-idl-provider.h | 2 +- lib/ovsdb-idl.c | 76 ++++++++++++++++++++++++------------------------ 3 files changed, 41 insertions(+), 41 deletions(-)