aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dnsbase.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/dnsbase.c b/src/dnsbase.c
index 28c88988..3d063166 100644
--- a/src/dnsbase.c
+++ b/src/dnsbase.c
@@ -273,18 +273,20 @@ domain_name_cmp(const char *ptr, const char *name, const char *domain)
while (*name && *ptr)
if (c = *ptr++ - *name++)
return c;
- if (*domain && *ptr != '.')
- return *ptr - *domain;
- ptr++;
- while (*domain && *ptr)
- if (c = *ptr++ - *domain++)
- return c;
- if (*domain == '.' && domain[1] == 0)
- domain++;
- if (*ptr == '.' && ptr[1] == 0)
+ if (*domain) {
+ if (*ptr != '.')
+ return *ptr - *domain;
ptr++;
- if (*domain || *ptr)
- return 1;
+ while (*domain && *ptr)
+ if (c = *ptr++ - *domain++)
+ return c;
+ if (*domain == '.' && domain[1] == 0)
+ domain++;
+ if (*ptr == '.' && ptr[1] == 0)
+ ptr++;
+ if (*domain || *ptr)
+ return 1;
+ }
return 0;
}

Return to:

Send suggestions and report system problems to the System administrator.