From c6ea537a72b6bf522afad18bf84fd9b3e9ab522b Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Wed, 23 May 2012 15:00:08 -0300 Subject: [PATCH] dnsproxy: Fix constiness of variables There's no point in casting 'domain' and 'query' to char* to remove the const since we are not modifying them. Also we can avoid another var entirely by updating the pointers only. --- src/dnsproxy.c | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/src/dnsproxy.c b/src/dnsproxy.c index d1f5e9c..83ec419 100644 --- a/src/dnsproxy.c +++ b/src/dnsproxy.c @@ -494,53 +494,50 @@ static int append_query(unsigned char *buf, unsigned int size, const char *query, const char *domain) { unsigned char *ptr = buf; - char *offset; int len; DBG("query %s domain %s", query, domain); - offset = (char *) query; - while (offset != NULL) { - char *tmp; + while (query != NULL) { + const char *tmp; - tmp = strchr(offset, '.'); + tmp = strchr(query, '.'); if (tmp == NULL) { - len = strlen(offset); + len = strlen(query); if (len == 0) break; *ptr = len; - memcpy(ptr + 1, offset, len); + memcpy(ptr + 1, query, len); ptr += len + 1; break; } - *ptr = tmp - offset; - memcpy(ptr + 1, offset, tmp - offset); - ptr += tmp - offset + 1; + *ptr = tmp - query; + memcpy(ptr + 1, query, tmp - query); + ptr += tmp - query + 1; - offset = tmp + 1; + query = tmp + 1; } - offset = (char *) domain; - while (offset != NULL) { - char *tmp; + while (domain != NULL) { + const char *tmp; - tmp = strchr(offset, '.'); + tmp = strchr(domain, '.'); if (tmp == NULL) { - len = strlen(offset); + len = strlen(domain); if (len == 0) break; *ptr = len; - memcpy(ptr + 1, offset, len); + memcpy(ptr + 1, domain, len); ptr += len + 1; break; } - *ptr = tmp - offset; - memcpy(ptr + 1, offset, tmp - offset); - ptr += tmp - offset + 1; + *ptr = tmp - domain; + memcpy(ptr + 1, domain, tmp - domain); + ptr += tmp - domain + 1; - offset = tmp + 1; + domain = tmp + 1; } *ptr++ = 0x00; -- 2.7.4