X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ovsdb%2Fcolumn.c;h=a22e1a237021dba1f4e242ff41a3e191f0d5869d;hb=1f0af7586e9ffbdbafe00344aca56cd2663b1f62;hp=0a1f6e4d9fbd612cfc4e0ae1c92d1653d1441f86;hpb=bd76d25d8b3b7d11c5a326e91d784ad2cdeecd45;p=openvswitch diff --git a/ovsdb/column.c b/ovsdb/column.c index 0a1f6e4d..a22e1a23 100644 --- a/ovsdb/column.c +++ b/ovsdb/column.c @@ -27,15 +27,15 @@ #include "util.h" struct ovsdb_column * -ovsdb_column_create(const char *name, const char *comment, +ovsdb_column_create(const char *name, bool mutable, bool persistent, const struct ovsdb_type *type) { + /* Doesn't set the new column's 'index': the caller must do that. */ struct ovsdb_column *column; column = xzalloc(sizeof *column); column->name = xstrdup(name); - column->comment = comment ? xstrdup(comment) : NULL; column->mutable = mutable; column->persistent = persistent; ovsdb_type_clone(&column->type, type); @@ -43,12 +43,20 @@ ovsdb_column_create(const char *name, const char *comment, return column; } +struct ovsdb_column * +ovsdb_column_clone(const struct ovsdb_column *old) +{ + /* Doesn't copy the column's 'index': the caller must do that. */ + return ovsdb_column_create(old->name, + old->mutable, old->persistent, + &old->type); +} + void ovsdb_column_destroy(struct ovsdb_column *column) { ovsdb_type_destroy(&column->type); free(column->name); - free(column->comment); free(column); } @@ -56,7 +64,7 @@ struct ovsdb_error * ovsdb_column_from_json(const struct json *json, const char *name, struct ovsdb_column **columnp) { - const struct json *comment, *mutable, *ephemeral, *type_json; + const struct json *mutable, *ephemeral, *type_json; struct ovsdb_error *error; struct ovsdb_type type; struct ovsdb_parser parser; @@ -65,7 +73,6 @@ ovsdb_column_from_json(const struct json *json, const char *name, *columnp = NULL; ovsdb_parser_init(&parser, json, "schema for column %s", name); - comment = ovsdb_parser_member(&parser, "comment", OP_STRING | OP_OPTIONAL); mutable = ovsdb_parser_member(&parser, "mutable", OP_TRUE | OP_FALSE | OP_OPTIONAL); ephemeral = ovsdb_parser_member(&parser, "ephemeral", @@ -83,7 +90,6 @@ ovsdb_column_from_json(const struct json *json, const char *name, persistent = ephemeral ? !json_boolean(ephemeral) : true; *columnp = ovsdb_column_create(name, - comment ? json_string(comment) : NULL, mutable ? json_boolean(mutable) : true, persistent, &type); @@ -96,9 +102,6 @@ struct json * ovsdb_column_to_json(const struct ovsdb_column *column) { struct json *json = json_object_create(); - if (column->comment) { - json_object_put_string(json, "comment", column->comment); - } if (!column->mutable) { json_object_put(json, "mutable", json_boolean_create(false)); }