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).
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,
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);
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;
}
/*******************************************************************
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.
******************************************************************/