lib: add strlen_m_term_null from s3.
authorGünther Deschner <gd@samba.org>
Thu, 15 Jan 2009 23:25:31 +0000 (00:25 +0100)
committerGünther Deschner <gd@samba.org>
Thu, 15 Jan 2009 23:28:45 +0000 (00:28 +0100)
Guenther

lib/util/charset/charset.h
lib/util/charset/util_unistr.c

index b69bef2d616072b8df11f069033a7ac494494b76..f027beb8db8860115e60506a000c0661fbcaa019 100644 (file)
@@ -84,6 +84,7 @@ struct smb_iconv_convenience;
 
 char *strchr_m(const char *s, char c);
 size_t strlen_m_term(const char *s);
+size_t strlen_m_term_null(const char *s);
 size_t strlen_m(const char *s);
 char *alpha_strcpy(char *dest, const char *src, const char *other_safe_chars, size_t maxlength);
 void string_replace_m(char *s, char oldc, char newc);
index 86a76f831ec4876b65bbf58a47f31957baebfa0e..41b9c94cbb1ff5dd743382a8a4c1ad2327c9b78a 100644 (file)
@@ -297,6 +297,25 @@ _PUBLIC_ size_t strlen_m_term(const char *s)
        return strlen_m(s) + 1;
 }
 
+/*
+ * Weird helper routine for the winreg pipe: If nothing is around, return 0,
+ * if a string is there, include the terminator.
+ */
+
+_PUBLIC_ size_t strlen_m_term_null(const char *s)
+{
+       size_t len;
+       if (!s) {
+               return 0;
+       }
+       len = strlen_m(s);
+       if (len == 0) {
+               return 0;
+       }
+
+       return len+1;
+}
+
 /**
  Strchr and strrchr_m are a bit complex on general multi-byte strings. 
 **/