From: Evan Hunt Date: Fri, 17 Feb 2023 19:46:58 +0000 (-0800) Subject: use member name initialization for methods X-Git-Tag: v9.19.11~40^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ffa4757c792579e3bc8316df6ce4f47093e0bde3;p=thirdparty%2Fbind9.git use member name initialization for methods initialize dns_dbmethods, dns_sdbmethods and dns_rdatasetmethods using explicit struct member names, so we don't have to keep track of NULLs for unimplemented functions any longer. --- diff --git a/bin/named/builtin.c b/bin/named/builtin.c index 8d7d634cbf8..6d2fe315bb4 100644 --- a/bin/named/builtin.c +++ b/bin/named/builtin.c @@ -617,13 +617,17 @@ builtin_destroy(const char *zone, void *driverdata, void **dbdata) { } static dns_sdbmethods_t builtin_methods = { - builtin_lookup, builtin_authority, NULL, /* allnodes */ - builtin_create, builtin_destroy, NULL + .lookup = builtin_lookup, + .authority = builtin_authority, + .create = builtin_create, + .destroy = builtin_destroy, }; static dns_sdbmethods_t dns64_methods = { - NULL, builtin_authority, NULL, /* allnodes */ - builtin_create, builtin_destroy, dns64_lookup, + .authority = builtin_authority, + .create = builtin_create, + .destroy = builtin_destroy, + .lookup2 = dns64_lookup, }; isc_result_t diff --git a/bin/tests/system/dyndb/driver/db.c b/bin/tests/system/dyndb/driver/db.c index 5ecbd7904f2..05ae32b618b 100644 --- a/bin/tests/system/dyndb/driver/db.c +++ b/bin/tests/system/dyndb/driver/db.c @@ -506,26 +506,42 @@ hashsize(dns_db_t *db) { * determine which implementation of dns_db_*() function to call. */ static dns_dbmethods_t sampledb_methods = { - attach, detach, beginload, - endload, dump, currentversion, - newversion, attachversion, closeversion, - findnode, find, findzonecut, - attachnode, detachnode, expirenode, - printnode, createiterator, findrdataset, - allrdatasets, addrdataset, subtractrdataset, - deleterdataset, issecure, nodecount, - NULL, overmem, setloop, - getoriginnode, transfernode, getnsec3parameters, - findnsec3node, setsigningtime, getsigningtime, - resigned, isdnssec, getrrsetstats, - findnodeext, findext, setcachestats, - hashsize, NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL, /* setservestalerefresh */ - NULL, /* getservestalerefresh */ - NULL, /* setgluecachestats */ + .attach = attach, + .detach = detach, + .currentversion = currentversion, + .newversion = newversion, + .attachversion = attachversion, + .closeversion = closeversion, + .findnode = findnode, + .find = find, + .findzonecut = findzonecut, + .attachnode = attachnode, + .detachnode = detachnode, + .expirenode = expirenode, + .printnode = printnode, + .createiterator = createiterator, + .findrdataset = findrdataset, + .allrdatasets = allrdatasets, + .addrdataset = addrdataset, + .subtractrdataset = subtractrdataset, + .deleterdataset = deleterdataset, + .issecure = issecure, + .nodecount = nodecount, + .overmem = overmem, + .setloop = setloop, + .getoriginnode = getoriginnode, + .transfernode = transfernode, + .getnsec3parameters = getnsec3parameters, + .findnsec3node = findnsec3node, + .setsigningtime = setsigningtime, + .getsigningtime = getsigningtime, + .resigned = resigned, + .isdnssec = isdnssec, + .getrrsetstats = getrrsetstats, + .findnodeext = findnodeext, + .findext = findext, + .setcachestats = setcachestats, + .hashsize = hashsize, }; /* Auxiliary driver functions. */ diff --git a/lib/dns/dnsrps.c b/lib/dns/dnsrps.c index 341c116f233..5dede174506 100644 --- a/lib/dns/dnsrps.c +++ b/lib/dns/dnsrps.c @@ -931,72 +931,25 @@ rpsdb_rdatasetiter_current(dns_rdatasetiter_t *iterator, } static dns_dbmethods_t rpsdb_db_methods = { - rpsdb_attach, - rpsdb_detach, - NULL, /* beginload */ - NULL, /* endload */ - NULL, /* dump */ - NULL, /* currentversion */ - NULL, /* newversion */ - NULL, /* attachversion */ - NULL, /* closeversion */ - rpsdb_findnode, - rpsdb_finddb, - NULL, /* findzonecut*/ - rpsdb_attachnode, - rpsdb_detachnode, - NULL, /* expirenode */ - NULL, /* printnode */ - NULL, /* createiterator */ - rpsdb_findrdataset, - rpsdb_allrdatasets, - NULL, /* addrdataset */ - NULL, /* subtractrdataset */ - NULL, /* deleterdataset */ - rpsdb_issecure, - NULL, /* nodecount */ - NULL, /* ispersistent */ - NULL, /* overmem */ - NULL, /* setloop */ - rpsdb_getoriginnode, - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL, /* setservestalerefresh */ - NULL, /* getservestalerefresh */ - NULL, /* setgluecachestats */ + .attach = rpsdb_attach, + .detach = rpsdb_detach, + .findnode = rpsdb_findnode, + .find = rpsdb_finddb, + .attachnode = rpsdb_attachnode, + .detachnode = rpsdb_detachnode, + .findrdataset = rpsdb_findrdataset, + .allrdatasets = rpsdb_allrdatasets, + .issecure = rpsdb_issecure, + .getoriginnode = rpsdb_getoriginnode, }; static dns_rdatasetmethods_t rpsdb_rdataset_methods = { - rpsdb_rdataset_disassociate, - rpsdb_rdataset_first, - rpsdb_rdataset_next, - rpsdb_rdataset_current, - rpsdb_rdataset_clone, - rpsdb_rdataset_count, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL + .disassociate = rpsdb_rdataset_disassociate, + first = rpsdb_rdataset_first, + .next = rpsdb_rdataset_next, + .current = rpsdb_rdataset_current, + .clone = rpsdb_rdataset_clone, + .count = rpsdb_rdataset_count, }; static dns_rdatasetitermethods_t rpsdb_rdatasetiter_methods = { diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c index fa4814236cc..40748a59f0d 100644 --- a/lib/dns/keytable.c +++ b/lib/dns/keytable.c @@ -74,22 +74,11 @@ static void keynode_clone(dns_rdataset_t *source, dns_rdataset_t *target); static dns_rdatasetmethods_t methods = { - keynode_disassociate, - keynode_first, - keynode_next, - keynode_current, - keynode_clone, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, - NULL, - NULL /* addglue */ + .disassociate = keynode_disassociate, + .first = keynode_first, + .next = keynode_next, + .current = keynode_current, + .clone = keynode_clone, }; static void diff --git a/lib/dns/ncache.c b/lib/dns/ncache.c index ba6716a88a5..52740a75d0f 100644 --- a/lib/dns/ncache.c +++ b/lib/dns/ncache.c @@ -507,22 +507,13 @@ rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust) { } static dns_rdatasetmethods_t rdataset_methods = { - rdataset_disassociate, - rdataset_first, - rdataset_next, - rdataset_current, - rdataset_clone, - rdataset_count, - NULL, /* addnoqname */ - NULL, /* getnoqname */ - NULL, /* addclosest */ - NULL, /* getclosest */ - rdataset_settrust, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + .disassociate = rdataset_disassociate, + .first = rdataset_first, + .next = rdataset_next, + .current = rdataset_current, + .clone = rdataset_clone, + .count = rdataset_count, + .settrust = rdataset_settrust, }; isc_result_t diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index ec93e9c1e3d..bb8dfe75eb1 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -653,40 +653,30 @@ free_gluetable(rbtdb_version_t *version); static isc_result_t nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t *name); -static dns_rdatasetmethods_t rdataset_methods = { rdataset_disassociate, - rdataset_first, - rdataset_next, - rdataset_current, - rdataset_clone, - rdataset_count, - NULL, /* addnoqname */ - rdataset_getnoqname, - NULL, /* addclosest */ - rdataset_getclosest, - rdataset_settrust, - rdataset_expire, - rdataset_clearprefetch, - rdataset_setownercase, - rdataset_getownercase, - rdataset_addglue }; +static dns_rdatasetmethods_t rdataset_methods = { + .disassociate = rdataset_disassociate, + .first = rdataset_first, + .next = rdataset_next, + .current = rdataset_current, + .clone = rdataset_clone, + .count = rdataset_count, + .getnoqname = rdataset_getnoqname, + .getclosest = rdataset_getclosest, + .settrust = rdataset_settrust, + .expire = rdataset_expire, + .clearprefetch = rdataset_clearprefetch, + .setownercase = rdataset_setownercase, + .getownercase = rdataset_getownercase, + .addglue = rdataset_addglue +}; static dns_rdatasetmethods_t slab_methods = { - rdataset_disassociate, - rdataset_first, - rdataset_next, - rdataset_current, - rdataset_clone, - rdataset_count, - NULL, /* addnoqname */ - NULL, /* getnoqname */ - NULL, /* addclosest */ - NULL, /* getclosest */ - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + .disassociate = rdataset_disassociate, + .first = rdataset_first, + .next = rdataset_next, + .current = rdataset_current, + .clone = rdataset_clone, + .count = rdataset_count, }; static void @@ -8074,101 +8064,83 @@ getservestalerefresh(dns_db_t *db, uint32_t *interval) { return (ISC_R_SUCCESS); } -static dns_dbmethods_t zone_methods = { attach, - detach, - beginload, - endload, - dump, - currentversion, - newversion, - attachversion, - closeversion, - findnode, - zone_find, - NULL, /* findzonecut */ - attachnode, - detachnode, - expirenode, - printnode, - createiterator, - zone_findrdataset, - allrdatasets, - addrdataset, - subtractrdataset, - deleterdataset, - issecure, - nodecount, - NULL, - overmem, - setloop, - getoriginnode, - NULL, /* transfernode */ - getnsec3parameters, - findnsec3node, - setsigningtime, - getsigningtime, - resigned, - isdnssec, - NULL, /* getrrsetstats */ - NULL, /* findnodeext */ - NULL, /* findext */ - NULL, /* setcachestats */ - hashsize, - nodefullname, - getsize, - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL, /* setservestalerefresh */ - NULL, /* getservestalerefresh */ - setgluecachestats }; - -static dns_dbmethods_t cache_methods = { attach, - detach, - beginload, - endload, - dump, - currentversion, - newversion, - attachversion, - closeversion, - findnode, - cache_find, - cache_findzonecut, - attachnode, - detachnode, - expirenode, - printnode, - createiterator, - cache_findrdataset, - allrdatasets, - addrdataset, - subtractrdataset, - deleterdataset, - issecure, - nodecount, - NULL, - overmem, - setloop, - getoriginnode, - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - isdnssec, - getrrsetstats, - NULL, /* findnodeext */ - NULL, /* findext */ - setcachestats, - hashsize, - nodefullname, - NULL, /* getsize */ - setservestalettl, - getservestalettl, - setservestalerefresh, - getservestalerefresh, - NULL }; +static dns_dbmethods_t zone_methods = { + .attach = attach, + .detach = detach, + .beginload = beginload, + .endload = endload, + .dump = dump, + .currentversion = currentversion, + .newversion = newversion, + .attachversion = attachversion, + .closeversion = closeversion, + .findnode = findnode, + .find = zone_find, + .attachnode = attachnode, + .detachnode = detachnode, + .expirenode = expirenode, + .printnode = printnode, + .createiterator = createiterator, + .findrdataset = zone_findrdataset, + .allrdatasets = allrdatasets, + .addrdataset = addrdataset, + .subtractrdataset = subtractrdataset, + .deleterdataset = deleterdataset, + .issecure = issecure, + .nodecount = nodecount, + .overmem = overmem, + .setloop = setloop, + .getoriginnode = getoriginnode, + .getnsec3parameters = getnsec3parameters, + .findnsec3node = findnsec3node, + .setsigningtime = setsigningtime, + .getsigningtime = getsigningtime, + .resigned = resigned, + .isdnssec = isdnssec, + .hashsize = hashsize, + .nodefullname = nodefullname, + .getsize = getsize, + .setgluecachestats = setgluecachestats +}; + +static dns_dbmethods_t cache_methods = { + .attach = attach, + .detach = detach, + .beginload = beginload, + .endload = endload, + .dump = dump, + .currentversion = currentversion, + .newversion = newversion, + .attachversion = attachversion, + .closeversion = closeversion, + .findnode = findnode, + .find = cache_find, + .findzonecut = cache_findzonecut, + .attachnode = attachnode, + .detachnode = detachnode, + .expirenode = expirenode, + .printnode = printnode, + .createiterator = createiterator, + .findrdataset = cache_findrdataset, + .allrdatasets = allrdatasets, + .addrdataset = addrdataset, + .subtractrdataset = subtractrdataset, + .deleterdataset = deleterdataset, + .issecure = issecure, + .nodecount = nodecount, + .overmem = overmem, + .setloop = setloop, + .getoriginnode = getoriginnode, + .isdnssec = isdnssec, + .getrrsetstats = getrrsetstats, + .setcachestats = setcachestats, + .hashsize = hashsize, + .nodefullname = nodefullname, + .setservestalettl = setservestalettl, + .getservestalettl = getservestalettl, + .setservestalerefresh = setservestalerefresh, + .getservestalerefresh = getservestalerefresh, +}; isc_result_t dns_rbtdb_create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type, diff --git a/lib/dns/rdatalist.c b/lib/dns/rdatalist.c index 27bd650bbd0..1511279da8a 100644 --- a/lib/dns/rdatalist.c +++ b/lib/dns/rdatalist.c @@ -25,22 +25,18 @@ #include static dns_rdatasetmethods_t methods = { - dns_rdatalist_disassociate, - dns_rdatalist_first, - dns_rdatalist_next, - dns_rdatalist_current, - dns_rdatalist_clone, - dns_rdatalist_count, - dns_rdatalist_addnoqname, - dns_rdatalist_getnoqname, - dns_rdatalist_addclosest, - dns_rdatalist_getclosest, - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - dns_rdatalist_setownercase, - dns_rdatalist_getownercase, - NULL /* addglue */ + .disassociate = dns_rdatalist_disassociate, + .first = dns_rdatalist_first, + .next = dns_rdatalist_next, + .current = dns_rdatalist_current, + .clone = dns_rdatalist_clone, + .count = dns_rdatalist_count, + .addnoqname = dns_rdatalist_addnoqname, + .getnoqname = dns_rdatalist_getnoqname, + .addclosest = dns_rdatalist_addclosest, + .getclosest = dns_rdatalist_getclosest, + .setownercase = dns_rdatalist_setownercase, + .getownercase = dns_rdatalist_getownercase, }; void diff --git a/lib/dns/rdataset.c b/lib/dns/rdataset.c index 2367ecca64d..69947568364 100644 --- a/lib/dns/rdataset.c +++ b/lib/dns/rdataset.c @@ -181,22 +181,12 @@ question_count(dns_rdataset_t *rdataset) { } static dns_rdatasetmethods_t question_methods = { - question_disassociate, - question_cursor, - question_cursor, - question_current, - question_clone, - question_count, - NULL, /* addnoqname */ - NULL, /* getnoqname */ - NULL, /* addclosest */ - NULL, /* getclosest */ - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + .disassociate = question_disassociate, + .first = question_cursor, + .next = question_cursor, + .current = question_current, + .clone = question_clone, + .count = question_count, }; void diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c index 13077c8549b..7d2c2f1f6cd 100644 --- a/lib/dns/sdb.c +++ b/lib/dns/sdb.c @@ -1128,40 +1128,20 @@ ispersistent(dns_db_t *db) { } static dns_dbmethods_t sdb_methods = { - attach, detach, NULL, /* beginload */ - NULL, /* endload */ - NULL, /* dump */ - currentversion, NULL, /* newversion */ - attachversion, closeversion, NULL, /* findnode */ - NULL, /* find */ - NULL, /* findzonecut */ - attachnode, detachnode, NULL, /* expirenode */ - NULL, /* printnode */ - createiterator, findrdataset, allrdatasets, NULL, /* addrdataset */ - NULL, /* subtractrdataset */ - NULL, /* deleterdataset */ - NULL, /* issecure */ - NULL, /* nodecount */ - ispersistent, NULL, /* overmem */ - NULL, /* setloop */ - getoriginnode, /* getoriginnode */ - NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - findnodeext, findext, NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL, /* setservestalerefresh */ - NULL, /* getservestalerefresh */ - NULL, /* setgluecachestats */ + .attach = attach, + .detach = detach, + .currentversion = currentversion, + .attachversion = attachversion, + .closeversion = closeversion, + .attachnode = attachnode, + .detachnode = detachnode, + .createiterator = createiterator, + .findrdataset = findrdataset, + .allrdatasets = allrdatasets, + .ispersistent = ispersistent, + .getoriginnode = getoriginnode, + .findnodeext = findnodeext, + .findext = findext, }; static isc_result_t @@ -1262,22 +1242,14 @@ rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static dns_rdatasetmethods_t sdb_rdataset_methods = { - disassociate, - dns_rdatalist_first, - dns_rdatalist_next, - dns_rdatalist_current, - rdataset_clone, - dns_rdatalist_count, - dns_rdatalist_addnoqname, - dns_rdatalist_getnoqname, - NULL, /* addclosest */ - NULL, /* getclosest */ - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + .disassociate = disassociate, + .first = dns_rdatalist_first, + .next = dns_rdatalist_next, + .current = dns_rdatalist_current, + .clone = rdataset_clone, + .count = dns_rdatalist_count, + .addnoqname = dns_rdatalist_addnoqname, + .getnoqname = dns_rdatalist_getnoqname, }; static void diff --git a/lib/dns/sdlz.c b/lib/dns/sdlz.c index 7ed5691b0eb..0c1031f113e 100644 --- a/lib/dns/sdlz.c +++ b/lib/dns/sdlz.c @@ -1179,34 +1179,31 @@ getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) { } static dns_dbmethods_t sdlzdb_methods = { - attach, detach, NULL, /* beginload */ - NULL, /* endload */ - NULL, /* dump */ - currentversion, newversion, attachversion, - closeversion, findnode, find, - NULL, /* findzonecut */ - attachnode, detachnode, expirenode, - printnode, createiterator, findrdataset, - allrdatasets, addrdataset, subtractrdataset, - deleterdataset, issecure, nodecount, - NULL, overmem, setloop, - getoriginnode, NULL, /* transfernode */ - NULL, /* getnsec3parameters */ - NULL, /* findnsec3node */ - NULL, /* setsigningtime */ - NULL, /* getsigningtime */ - NULL, /* resigned */ - NULL, /* isdnssec */ - NULL, /* getrrsetstats */ - findnodeext, findext, NULL, /* setcachestats */ - NULL, /* hashsize */ - NULL, /* nodefullname */ - NULL, /* getsize */ - NULL, /* setservestalettl */ - NULL, /* getservestalettl */ - NULL, /* setservestalerefresh */ - NULL, /* getservestalerefresh */ - NULL, /* setgluecachestats */ + .attach = attach, + .detach = detach, + .currentversion = currentversion, + .newversion = newversion, + .attachversion = attachversion, + .closeversion = closeversion, + .findnode = findnode, + .find = find, + .attachnode = attachnode, + .detachnode = detachnode, + .expirenode = expirenode, + .printnode = printnode, + .createiterator = createiterator, + .findrdataset = findrdataset, + .allrdatasets = allrdatasets, + .addrdataset = addrdataset, + .subtractrdataset = subtractrdataset, + .deleterdataset = deleterdataset, + .issecure = issecure, + .nodecount = nodecount, + .overmem = overmem, + .setloop = setloop, + .getoriginnode = getoriginnode, + .findnodeext = findnodeext, + .findext = findext, }; /* @@ -1349,22 +1346,14 @@ rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target) { } static dns_rdatasetmethods_t rdataset_methods = { - disassociate, - dns_rdatalist_first, - dns_rdatalist_next, - dns_rdatalist_current, - rdataset_clone, - dns_rdatalist_count, - dns_rdatalist_addnoqname, - dns_rdatalist_getnoqname, - NULL, /* addclosest */ - NULL, /* getclosest */ - NULL, /* settrust */ - NULL, /* expire */ - NULL, /* clearprefetch */ - NULL, /* setownercase */ - NULL, /* getownercase */ - NULL /* addglue */ + .disassociate = disassociate, + .first = dns_rdatalist_first, + .next = dns_rdatalist_next, + .current = dns_rdatalist_current, + .clone = rdataset_clone, + .count = dns_rdatalist_count, + .addnoqname = dns_rdatalist_addnoqname, + .getnoqname = dns_rdatalist_getnoqname, }; static void