summaryrefslogtreecommitdiff
path: root/source/libsmb/clistr.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-02-20 23:52:27 +0000
committerAndrew Tridgell <tridge@samba.org>2001-02-20 23:52:27 +0000
commit5b2ef8a1b914265c6072c968d2dad7d26c2aeffc (patch)
tree106d87361aada35de101e08ddcea58dd258fbc41 /source/libsmb/clistr.c
parentf6b8d6730452522f77852af0917cb48424d4c8a9 (diff)
downloadsamba-5b2ef8a1b914265c6072c968d2dad7d26c2aeffc.tar.gz
yipee! client unicode now works well with nt
Diffstat (limited to 'source/libsmb/clistr.c')
-rw-r--r--source/libsmb/clistr.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/libsmb/clistr.c b/source/libsmb/clistr.c
index 32168cae168..4c7c8e30772 100644
--- a/source/libsmb/clistr.c
+++ b/source/libsmb/clistr.c
@@ -40,17 +40,18 @@ is -1 then no maxiumum is used
****************************************************************************/
int clistr_push(struct cli_state *cli, void *dest, char *src, int dest_len, int flags)
{
- int len;
+ int len=0;
/* treat a pstring as "unlimited" length */
if (dest_len == -1) {
dest_len = sizeof(pstring);
}
- if (clistr_align(cli, PTR_DIFF(cli->outbuf, dest))) {
+ if (clistr_align(cli, PTR_DIFF(dest, cli->outbuf))) {
*(char *)dest = 0;
dest++;
dest_len--;
+ len++;
}
if (!cli_use_unicode || !(cli->capabilities & CAP_UNICODE)) {
@@ -72,7 +73,7 @@ int clistr_push(struct cli_state *cli, void *dest, char *src, int dest_len, int
if (flags & CLISTR_UPPER) {
strupper_w(dest);
}
- len = strlen(src)*2;
+ len += strlen(src)*2;
if (flags & CLISTR_TERMINATE) len += 2;
return len;
}