int config_parse_route_priority(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) { Network *network = userdata; _cleanup_route_free_ Route *n = NULL; int r; assert(filename); assert(section); assert(lvalue); assert(rvalue); assert(data); r = route_new_static(network, section_line, &n); if (r < 0) return r; r = config_parse_unsigned(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &n->metrics, userdata); if (r < 0) return r; n = NULL; return 0; }
/* parse the VLAN Id from config files. */ int config_parse_fdb_vlan_id( const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata) { Network *network = userdata; _cleanup_fdbentry_free_ FdbEntry *fdb_entry = NULL; int r; assert(filename); assert(section); assert(lvalue); assert(rvalue); assert(data); r = fdb_entry_new_static(network, section_line, &fdb_entry); if (r < 0) return log_oom(); r = config_parse_unsigned(unit, filename, line, section, section_line, lvalue, ltype, rvalue, &fdb_entry->vlan_id, userdata); if (r < 0) return r; fdb_entry = NULL; return 0; }
static void test_config_parse_unsigned_one(const char *rvalue, unsigned expected) { unsigned v = 0; assert_se(config_parse_unsigned("unit", "filename", 1, "section", 1, "lvalue", 0, rvalue, &v, NULL) >= 0); assert_se(expected == v); }