dovecot-2.2: lib: str_sanitize*() max_len parameter renamed to m...

dovecot at dovecot.org dovecot at dovecot.org
Fri Jan 30 09:54:57 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/081c7da83d8f
changeset: 18207:081c7da83d8f
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Jan 30 11:53:12 2015 +0200
description:
lib: str_sanitize*() max_len parameter renamed to max_bytes to describe it more accurately.

diffstat:

 src/lib/str-sanitize.c |  22 +++++++++++-----------
 src/lib/str-sanitize.h |   8 +++++---
 2 files changed, 16 insertions(+), 14 deletions(-)

diffs (101 lines):

diff -r ee12ce691bd3 -r 081c7da83d8f src/lib/str-sanitize.c
--- a/src/lib/str-sanitize.c	Fri Jan 30 11:52:33 2015 +0200
+++ b/src/lib/str-sanitize.c	Fri Jan 30 11:53:12 2015 +0200
@@ -5,7 +5,7 @@
 #include "str.h"
 #include "str-sanitize.h"
 
-static size_t str_sanitize_skip_start(const char *src, size_t max_len)
+static size_t str_sanitize_skip_start(const char *src, size_t max_bytes)
 {
 	unsigned int len;
 	unichar_t chr;
@@ -13,13 +13,13 @@
 
 	for (i = 0; src[i] != '\0'; ) {
 		len = uni_utf8_char_bytes(src[i]);
-		if (i + len > max_len || uni_utf8_get_char(src+i, &chr) <= 0)
+		if (i + len > max_bytes || uni_utf8_get_char(src+i, &chr) <= 0)
 			break;
 		if ((unsigned char)src[i] < 32)
 			break;
 		i += len;
 	}
-	i_assert(i <= max_len);
+	i_assert(i <= max_bytes);
 	return i;
 }
 
@@ -43,7 +43,7 @@
 		str_truncate(dest, len);
 }
 
-void str_sanitize_append(string_t *dest, const char *src, size_t max_len)
+void str_sanitize_append(string_t *dest, const char *src, size_t max_bytes)
 {
 	unsigned int len, initial_pos = str_len(dest);
 	unichar_t chr;
@@ -52,7 +52,7 @@
 
 	for (i = 0; src[i] != '\0'; ) {
 		len = uni_utf8_char_bytes(src[i]);
-		if (i + len > max_len)
+		if (i + len > max_bytes)
 			break;
 		ret = uni_utf8_get_char(src+i, &chr);
 		if (ret <= 0) {
@@ -73,17 +73,17 @@
 	}
 
 	if (src[i] != '\0') {
-		if (max_len < 3)
+		if (max_bytes < 3)
 			str_truncate(dest, initial_pos);
 		else {
-			while (str_len(dest) - initial_pos > max_len-3)
+			while (str_len(dest) - initial_pos > max_bytes-3)
 				str_sanitize_truncate_char(dest, initial_pos);
 		}
 		str_append(dest, "...");
 	}
 }
 
-const char *str_sanitize(const char *src, size_t max_len)
+const char *str_sanitize(const char *src, size_t max_bytes)
 {
 	string_t *str;
 	size_t i;
@@ -91,11 +91,11 @@
 	if (src == NULL)
 		return NULL;
 
-	i = str_sanitize_skip_start(src, max_len);
+	i = str_sanitize_skip_start(src, max_bytes);
 	if (src[i] == '\0')
 		return src;
 
-	str = t_str_new(I_MIN(max_len, 256));
-	str_sanitize_append(str, src, max_len);
+	str = t_str_new(I_MIN(max_bytes, 256));
+	str_sanitize_append(str, src, max_bytes);
 	return str_c(str);
 }
diff -r ee12ce691bd3 -r 081c7da83d8f src/lib/str-sanitize.h
--- a/src/lib/str-sanitize.h	Fri Jan 30 11:52:33 2015 +0200
+++ b/src/lib/str-sanitize.h	Fri Jan 30 11:53:12 2015 +0200
@@ -2,10 +2,12 @@
 #define STR_SANITIZE_H
 
 /* All control characters in src will be appended as '?'. If src is longer
-   than max_len, it's truncated with "..." appended to the end. */
-void str_sanitize_append(string_t *dest, const char *src, size_t max_len);
+   than max_bytes, it's truncated with "..." appended to the end. Note that
+   src is treated as UTF-8 input, but max_bytes is in bytes instead of
+   UTF-8 characters. */
+void str_sanitize_append(string_t *dest, const char *src, size_t max_bytes);
 /* Return src sanitized. If there are no changes, src pointer is returned.
    If src is NULL, returns NULL. */
-const char *str_sanitize(const char *src, size_t max_len);
+const char *str_sanitize(const char *src, size_t max_bytes);
 
 #endif


More information about the dovecot-cvs mailing list