summaryrefslogtreecommitdiffstats
path: root/source/libsmb/clirap.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2001-02-21 04:14:28 +0000
committerAndrew Tridgell <tridge@samba.org>2001-02-21 04:14:28 +0000
commitac7529d2b69826f8214d5632c31778cc87216653 (patch)
tree4e30e2ff80ac12317e571d24fe75bc4fc027d878 /source/libsmb/clirap.c
parent56ffb58effe80f7c62a9de6ba4f634d995fbc4e6 (diff)
downloadsamba-ac7529d2b69826f8214d5632c31778cc87216653.tar.gz
samba-ac7529d2b69826f8214d5632c31778cc87216653.tar.xz
samba-ac7529d2b69826f8214d5632c31778cc87216653.zip
converted the last couple of functions in libsmb to be unicode
the whole of libsmb should now do unicode where appropriate
Diffstat (limited to 'source/libsmb/clirap.c')
-rw-r--r--source/libsmb/clirap.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/source/libsmb/clirap.c b/source/libsmb/clirap.c
index bf0940d1d6f..3c87464495d 100644
--- a/source/libsmb/clirap.c
+++ b/source/libsmb/clirap.c
@@ -388,13 +388,15 @@ BOOL cli_qpathinfo(struct cli_state *cli, const char *fname,
int count=8;
BOOL ret;
time_t (*date_fn)(void *);
+ char *p;
- param_len = strlen(fname) + 7;
+ p = param;
+ memset(p, 0, 6);
+ SSVAL(p, 0, SMB_INFO_STANDARD);
+ p += 6;
+ p += clistr_push(cli, p, fname, sizeof(pstring)-6, CLISTR_TERMINATE | CLISTR_CONVERT);
- memset(param, 0, param_len);
- SSVAL(param, 0, SMB_INFO_STANDARD);
- pstrcpy(&param[6], fname);
- unix_to_dos(&param[6],True);
+ param_len = PTR_DIFF(p, param);
do {
ret = (cli_send_trans(cli, SMBtrans2,
@@ -462,13 +464,15 @@ BOOL cli_qpathinfo2(struct cli_state *cli, const char *fname,
uint16 setup = TRANSACT2_QPATHINFO;
pstring param;
char *rparam=NULL, *rdata=NULL;
+ char *p;
- param_len = strlen(fname) + 7;
+ p = param;
+ memset(p, 0, 6);
+ SSVAL(p, 0, SMB_QUERY_FILE_ALL_INFO);
+ p += 6;
+ p += clistr_push(cli, p, fname, sizeof(pstring)-6, CLISTR_TERMINATE | CLISTR_CONVERT);
- memset(param, 0, param_len);
- SSVAL(param, 0, SMB_QUERY_FILE_ALL_INFO);
- pstrcpy(&param[6], fname);
- unix_to_dos(&param[6],True);
+ param_len = PTR_DIFF(p, param);
if (!cli_send_trans(cli, SMBtrans2,
NULL, /* name */