summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2010-10-31 02:02:16 +0200
committerMichael Adam <obnox@samba.org>2010-11-03 22:45:19 +0000
commita50d3638a7440e30a0cbfb3bffe4712ff68e350a (patch)
tree9f1f7970b55fdcfcc94d158d8f159466385e61b2 /source3
parent288d55b511bcfd5ed3d6b464046808ce82aedaec (diff)
downloadsamba-a50d3638a7440e30a0cbfb3bffe4712ff68e350a.tar.gz
samba-a50d3638a7440e30a0cbfb3bffe4712ff68e350a.tar.bz2
samba-a50d3638a7440e30a0cbfb3bffe4712ff68e350a.zip
s3:util_str: add strlen_m_ext_term() - variant of strlen_m_ext() counting terminator
Diffstat (limited to 'source3')
-rw-r--r--source3/include/proto.h2
-rw-r--r--source3/lib/util_str.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 5e88476e44..058424359d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1435,6 +1435,8 @@ void strlower_m(char *s);
void strupper_m(char *s);
size_t strlen_m_ext(const char *s, const charset_t src_charset,
const charset_t dst_charset);
+size_t strlen_m_ext_term(const char *s, const charset_t src_charset,
+ const charset_t dst_charset);
size_t strlen_m(const char *s);
size_t strlen_m_term(const char *s);
size_t strlen_m_term_null(const char *s);
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index 27147365cd..508050d892 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -1523,6 +1523,15 @@ size_t strlen_m_ext(const char *s, const charset_t src_charset,
return count;
}
+size_t strlen_m_ext_term(const char *s, const charset_t src_charset,
+ const charset_t dst_charset)
+{
+ if (!s) {
+ return 0;
+ }
+ return strlen_m_ext(s, src_charset, dst_charset) + 1;
+}
+
/**
* Calculate the number of 16-bit units that would bee needed to convert
* the input string which is expected to be in CH_UNIX encoding to UTF16.