Start to remove some of the pstring functions we're
authorJeremy Allison <jra@samba.org>
Tue, 20 Nov 2007 01:51:21 +0000 (17:51 -0800)
committerJeremy Allison <jra@samba.org>
Tue, 20 Nov 2007 01:51:21 +0000 (17:51 -0800)
no longer using.
Jeremy.
(This used to be commit c21e9bdc1059268adbd14207e74097349676439e)

source3/lib/charcnv.c
source3/lib/util_unistr.c

index 7c3545dab10d3ac45faf521867c8ded0cc5eb213..da972f550f660befac4fdddcd49541011c3e49aa 100644 (file)
@@ -993,11 +993,6 @@ size_t push_ascii_fstring(void *dest, const char *src)
        return push_ascii(dest, src, sizeof(fstring), STR_TERMINATE);
 }
 
-size_t push_ascii_pstring(void *dest, const char *src)
-{
-       return push_ascii(dest, src, sizeof(pstring), STR_TERMINATE);
-}
-
 /********************************************************************
  Push an nstring - ensure null terminated. Written by
  moriyama@miraclelinux.com (MORIYAMA Masayuki).
@@ -1471,7 +1466,7 @@ size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_
  The resulting string in "dest" is always null terminated.
 **/
 
-static size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
+size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
                        const void *base_ptr,
                        char **ppdest,
                        const void *src,
@@ -1561,11 +1556,6 @@ static size_t pull_ucs2_base_talloc(TALLOC_CTX *ctx,
        return src_len;
 }
 
-size_t pull_ucs2_pstring(char *dest, const void *src)
-{
-       return pull_ucs2(NULL, dest, src, sizeof(pstring), -1, STR_TERMINATE);
-}
-
 size_t pull_ucs2_fstring(char *dest, const void *src)
 {
        return pull_ucs2(NULL, dest, src, sizeof(fstring), -1, STR_TERMINATE);
index 8fad1162acf5bec76996ca0cbac9da93cb00b0a4..1fef6ab239663362d1e123542540e435e1ca4a47 100644 (file)
@@ -422,16 +422,33 @@ void unistr3_to_ascii(char *dest, const UNISTR3 *str, size_t maxlen)
        pull_ucs2(NULL, dest, str->str.buffer, maxlen, str->uni_str_len*2,
                  STR_NOALIGN);
 }
-       
+
 /*******************************************************************
- Give a static string for displaying a UNISTR2.
+ Return a string for displaying a UNISTR2. Guarentees to return a
+ valid string - "" if nothing else.
+ Changed to use talloc_tos() under the covers.... JRA.
 ********************************************************************/
 
 const char *unistr2_static(const UNISTR2 *str)
 {
-       static pstring ret;
-       unistr2_to_ascii(ret, str, sizeof(ret));
-       return ret;
+       size_t ret = (size_t)-1;
+       char *dest = NULL;
+
+       if ((str == NULL) || (str->uni_str_len == 0)) {
+               return "";
+       }
+
+       ret = pull_ucs2_base_talloc(talloc_tos(),
+                               NULL,
+                               &dest,
+                               str->buffer,
+                               str->uni_str_len*2,
+                               STR_NOALIGN);
+       if (ret == (size_t)-1 || dest == NULL) {
+               return "";
+       }
+
+       return dest;
 }
 
 /*******************************************************************
@@ -992,24 +1009,6 @@ smb_ucs2_t *strstr_wa(const smb_ucs2_t *s, const char *ins)
        return NULL;
 }
 
-bool trim_string_wa(smb_ucs2_t *s, const char *front,
-                                 const char *back)
-{
-       wpstring f, b;
-
-       if (front) {
-               push_ucs2(NULL, f, front, sizeof(wpstring) - 1, STR_TERMINATE);
-       } else {
-               *f = 0;
-       }
-       if (back) {
-               push_ucs2(NULL, b, back, sizeof(wpstring) - 1, STR_TERMINATE);
-       } else {
-               *b = 0;
-       }
-       return trim_string_w(s, f, b);
-}
-
 /*******************************************************************
  Returns the length in number of wide characters.
 ******************************************************************/