summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-12-16 19:51:35 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-12-16 19:51:35 +0100
commit54dc421f5820099531a77879f52a904c2fefcf49 (patch)
treedaf0685fb9cb93e41332592f2be087686afb7ccc /source3
parentd59a79e5bb425d260af3261e88422eeaf1f1359c (diff)
parent4c3aea3f62a76fa62ead66d64941156375fc4501 (diff)
downloadsamba-54dc421f5820099531a77879f52a904c2fefcf49.tar.gz
samba-54dc421f5820099531a77879f52a904c2fefcf49.tar.bz2
samba-54dc421f5820099531a77879f52a904c2fefcf49.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3')
-rw-r--r--source3/include/libsmb_internal.h13
-rw-r--r--source3/libsmb/libsmb_dir.c10
2 files changed, 11 insertions, 12 deletions
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h
index 3b909d13b9..b488116939 100644
--- a/source3/include/libsmb_internal.h
+++ b/source3/include/libsmb_internal.h
@@ -113,18 +113,19 @@ struct SMBC_internal_data {
/* True when this handle is initialized */
bool initialized;
- /* dirent pointer location
- *
+ /* dirent pointer location */
+ struct smbc_dirent dirent;
+ /*
* Leave room for any urlencoded filename and the comment field.
*
- * We really should use sizeof(struct smbc_dirent) plus (NAME_MAX * 3)
- * plus whatever the max length of a comment is, plus a couple of null
- * terminators (one after the filename, one after the comment).
+ * We use (NAME_MAX * 3) plus whatever the max length of a comment is,
+ * plus a couple of null terminators (one after the filename,
+ * one after the comment).
*
* According to <linux/limits.h>, NAME_MAX is 255. Is it longer
* anyplace else?
*/
- char dirent[1024];
+ char _dirent_name[1024];
/*
* server connection list
diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c
index d12e7487f6..770014b6f6 100644
--- a/source3/libsmb/libsmb_dir.c
+++ b/source3/libsmb/libsmb_dir.c
@@ -976,9 +976,8 @@ SMBC_readdir_ctx(SMBCCTX *context,
}
- dirp = (struct smbc_dirent *)context->internal->dirent;
- maxlen = (sizeof(context->internal->dirent) -
- sizeof(struct smbc_dirent));
+ dirp = &context->internal->dirent;
+ maxlen = sizeof(context->internal->_dirent_name);
smbc_readdir_internal(context, dirp, dirent, maxlen);
@@ -1049,9 +1048,8 @@ SMBC_getdents_ctx(SMBCCTX *context,
}
/* Do urlencoding of next entry, if so selected */
- dirent = (struct smbc_dirent *)context->internal->dirent;
- maxlen = (sizeof(context->internal->dirent) -
- sizeof(struct smbc_dirent));
+ dirent = &context->internal->dirent;
+ maxlen = sizeof(context->internal->_dirent_name);
smbc_readdir_internal(context, dirent,
dirlist->dirent, maxlen);