diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2022-12-18 18:44:54 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2022-12-20 18:16:00 +0000 |
commit | c7bec9723a721f566c67df0a526e4de18b723659 (patch) | |
tree | 1c8ef13b5fea614cc50ddfd44f46e6f3e956bfeb /src | |
parent | d439520cf2ccd61b0a2190bb331b1dded18547b8 (diff) |
Rework "compiler quietening"
This partially reverts commit 0da41dc541d0f2536f9d2afc7188e9dfb97b0c09.
Diffstat (limited to 'src')
-rw-r--r-- | src/src/lookups/ldap.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/src/lookups/ldap.c b/src/src/lookups/ldap.c index ba77c98c2..b2ad3bbbc 100644 --- a/src/src/lookups/ldap.c +++ b/src/src/lookups/ldap.c @@ -1470,20 +1470,27 @@ t = quoted = store_get_quoted(len + count + 1, s, idx); /* Handle plain quote_ldap */ if (!dn) - for (; c = *s++; *t++ = c) + { + while ((c = *s++)) + { if (!isalnum(c)) { if (Ustrchr(LDAP_QUOTE, c) != NULL) { sprintf(CS t, "%%5C%02X", c); /* e.g. * => %5C2A */ t += 5; + continue; } - else if (Ustrchr(URL_NONQUOTE, c) == NULL) /* e.g. ] => %5D */ + if (Ustrchr(URL_NONQUOTE, c) == NULL) /* e.g. ] => %5D */ { sprintf(CS t, "%%%02X", c); t += 3; + continue; } } + *t++ = c; /* unquoted character */ + } + } /* Handle quote_ldap_dn */ @@ -1513,7 +1520,7 @@ else { if (Ustrchr(LDAP_DN_QUOTE, c) != NULL) { - Ustrcpy(t, US"%5C"); /* insert \ where needed */ + memcpy(t, US"%5C", 3); /* insert \ where needed */ t += 3; /* fall through to check URL */ } if (Ustrchr(URL_NONQUOTE, c) == NULL) /* e.g. ] => %5D */ @@ -1530,7 +1537,7 @@ else while (*ss++) { - Ustrcpy(t, US"%5C%20"); + memcpy(t, US"%5C%20", 6); t += 6; } } |