Simplify getnameinfo (#196)

The getnameinfo implementation requires an address -> name lookup on the
hosts file (ie struct HostsTxt) and the previous implementation used
flags to check whether HostsTxt was sorted according to address or name,
and then re-sorted it if necessary. Now getnameinfo lookup does not
require sorting, it does a simple linear lookup, and so the related code
was simplified

See #172 for discussion.
This commit is contained in:
Gautham 2021-06-23 01:05:58 +05:30 committed by GitHub
parent 1f87640d17
commit 98c53ae526
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 46 deletions

View file

@ -61,7 +61,6 @@ const struct HostsTxt *GetHostsTxt(void) {
init = &g_hoststxt_init;
if (!g_hoststxt) {
g_hoststxt = &init->ht;
init->ht.sorted_by = HOSTSTXT_NOT_SORTED;
init->ht.entries.n = pushpop(ARRAYLEN(init->entries));
init->ht.entries.p = init->entries;
init->ht.strings.n = pushpop(ARRAYLEN(init->strings));
@ -75,7 +74,7 @@ const struct HostsTxt *GetHostsTxt(void) {
/* TODO(jart): Elevate robustness. */
}
fclose(f);
SortHostsTxt(g_hoststxt, HOSTSTXT_SORTEDBYNAME);
SortHostsTxt(g_hoststxt);
}
return g_hoststxt;
}