summaryrefslogtreecommitdiffstats
path: root/source/libsmb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-07-13 08:37:06 +0000
committerAndrew Tridgell <tridge@samba.org>2002-07-13 08:37:06 +0000
commit01ebe5fff2b3cb29f083afb224b1257364ac5d80 (patch)
treefdf8268da2ac3ad7cb264fef593ca270c549fa30 /source/libsmb
parent146ba3eb49bade732d57691d8ce181ef6608e0cb (diff)
downloadsamba-01ebe5fff2b3cb29f083afb224b1257364ac5d80.tar.gz
samba-01ebe5fff2b3cb29f083afb224b1257364ac5d80.tar.xz
samba-01ebe5fff2b3cb29f083afb224b1257364ac5d80.zip
fix directory listing on win9x.
it turns out this is tricky to get right for both win9x and w2k with and without unicode. This patch seems to do the trick.
Diffstat (limited to 'source/libsmb')
-rw-r--r--source/libsmb/clilist.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/libsmb/clilist.c b/source/libsmb/clilist.c
index 8b28e05a475..17a759f9e39 100644
--- a/source/libsmb/clilist.c
+++ b/source/libsmb/clilist.c
@@ -54,10 +54,14 @@ static int interpret_long_filename(struct cli_state *cli,
len = CVAL(p, 26);
p += 27;
p += clistr_align_in(cli, p, 0);
+ /* the len+2 below looks strange but it is
+ important to cope with the differences
+ between win2000 and win9x for this call
+ (tridge) */
p += clistr_pull(cli, finfo->name, p,
- sizeof(finfo->name),
- len,
- STR_TERMINATE);
+ sizeof(finfo->name),
+ len+2,
+ STR_TERMINATE);
return PTR_DIFF(p, base);
case 2: /* this is what OS/2 uses mostly */