1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-04 08:22:08 +03:00

fixed some places where we don't brace (flags & STR_UNICODE)

this fixes the samba4 server with ascii clients
(This used to be commit c770603ac6)
This commit is contained in:
Andrew Tridgell
2003-08-15 16:19:48 +00:00
parent fe31953678
commit cc38992e3f
4 changed files with 5 additions and 4 deletions

View File

@ -769,7 +769,7 @@ ssize_t pull_utf8_allocate(void **dest, const char *src)
ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags) ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags)
{ {
if (!(flags & STR_ASCII) && \ if (!(flags & STR_ASCII) && \
((flags & STR_UNICODE || \ (((flags & STR_UNICODE) || \
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) { (SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
return push_ucs2(base_ptr, dest, src, dest_len, flags); return push_ucs2(base_ptr, dest, src, dest_len, flags);
} }
@ -794,7 +794,7 @@ ssize_t push_string(const void *base_ptr, void *dest, const char *src, size_t de
ssize_t pull_string(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags) ssize_t pull_string(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags)
{ {
if (!(flags & STR_ASCII) && \ if (!(flags & STR_ASCII) && \
((flags & STR_UNICODE || \ (((flags & STR_UNICODE) || \
(SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) { (SVAL(base_ptr, NBT_HDR_SIZE+HDR_FLG2) & FLAGS2_UNICODE_STRINGS)))) {
return pull_ucs2(base_ptr, dest, src, dest_len, src_len, flags); return pull_ucs2(base_ptr, dest, src, dest_len, src_len, flags);
} }

View File

@ -754,7 +754,7 @@ size_t cli_req_pull_string(struct cli_request *req, TALLOC_CTX *mem_ctx,
char **dest, const char *src, int byte_len, unsigned flags) char **dest, const char *src, int byte_len, unsigned flags)
{ {
if (!(flags & STR_ASCII) && if (!(flags & STR_ASCII) &&
((flags & STR_UNICODE || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) { (((flags & STR_UNICODE) || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
return cli_req_pull_ucs2(req, mem_ctx, dest, src, byte_len, flags); return cli_req_pull_ucs2(req, mem_ctx, dest, src, byte_len, flags);
} }

View File

@ -483,7 +483,7 @@ static size_t req_pull_ascii(struct request_context *req, const char **dest, con
size_t req_pull_string(struct request_context *req, const char **dest, const char *src, int byte_len, unsigned flags) size_t req_pull_string(struct request_context *req, const char **dest, const char *src, int byte_len, unsigned flags)
{ {
if (!(flags & STR_ASCII) && if (!(flags & STR_ASCII) &&
((flags & STR_UNICODE || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) { (((flags & STR_UNICODE) || (req->flags2 & FLAGS2_UNICODE_STRINGS)))) {
return req_pull_ucs2(req, dest, src, byte_len, flags); return req_pull_ucs2(req, dest, src, byte_len, flags);
} }

View File

@ -195,6 +195,7 @@ void *shm_setup(int size)
BOOL wire_bad_flags(WIRE_STRING *str, int flags) BOOL wire_bad_flags(WIRE_STRING *str, int flags)
{ {
int len; int len;
if (!str || !str->s) return True;
len = strlen(str->s); len = strlen(str->s);
if (flags & STR_TERMINATE) len++; if (flags & STR_TERMINATE) len++;
if ((flags & STR_UNICODE) || !getenv("CLI_FORCE_ASCII")) { if ((flags & STR_UNICODE) || !getenv("CLI_FORCE_ASCII")) {