Patch to export init_stat_ex_from_stat so that it can be used in VFS modules rather than duplicating code

Richard Sharpe realrichardsharpe at gmail.com
Wed Jun 8 17:24:58 MDT 2011


OK,

Here is an updated version:

Signed-off-by: Richard Sharpe <realrichardsharpe at gmail.com>

From: Richard Sharpe <realrichardsharpe at gmail.com>
Date: Fri, 3 Jun 2011 08:27:13 -0700
Subject: [PATCH] Export init_stat_ex_from_stat for use in VFS modules.

---
 source3/include/includes.h |    1 +
 source3/include/proto.h    |   11 +++++++++++
 source3/lib/system.c       |   12 ++++++------
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/source3/include/includes.h b/source3/include/includes.h
index e6b70c7..55a8e85 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -72,6 +72,7 @@
 #include "system/locale.h"
 #include "system/time.h"
 #include "system/wait.h"
+#include "system/filesys.h"

 #if defined(HAVE_RPC_RPC_H)
 /*
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 7e25f8e..6700320 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -472,6 +472,17 @@ int sys_aio_cancel(int fd, SMB_STRUCT_AIOCB *aiocb);
 int sys_aio_error(const SMB_STRUCT_AIOCB *aiocb);
 int sys_aio_fsync(int op, SMB_STRUCT_AIOCB *aiocb);
 int sys_aio_suspend(const SMB_STRUCT_AIOCB * const cblist[], int n,
const struct timespec *timeout);
+
+#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T)
&& defined(HAVE_STAT64)
+void init_stat_ex_from_stat (struct stat_ex *dst,
+                           const struct stat64 *src,
+                           bool fake_dir_create_times);
+#else
+void init_stat_ex_from_stat (struct stat_ex *dst,
+                           const struct stat *src,
+                           bool fake_dir_create_times);
+#endif
+
 /* The following definitions come from lib/system_smbd.c  */

 bool getgroups_unix_user(TALLOC_CTX *mem_ctx, const char *user,
diff --git a/source3/lib/system.c b/source3/lib/system.c
index 292965f..83ad47b 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -545,13 +545,13 @@ void update_stat_ex_create_time(struct stat_ex *dst,
 }

 #if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T)
&& defined(HAVE_STAT64)
-static void init_stat_ex_from_stat (struct stat_ex *dst,
-                                   const struct stat64 *src,
-                                   bool fake_dir_create_times)
+void init_stat_ex_from_stat (struct stat_ex *dst,
+                           const struct stat64 *src,
+                           bool fake_dir_create_times)
 #else
-static void init_stat_ex_from_stat (struct stat_ex *dst,
-                                   const struct stat *src,
-                                   bool fake_dir_create_times)
+void init_stat_ex_from_stat (struct stat_ex *dst,
+                           const struct stat *src,
+                           bool fake_dir_create_times)
 #endif
 {
        dst->st_ex_dev = src->st_dev;
--
1.7.1



-- 
Regards,
Richard Sharpe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Export-init_stat_ex_from_stat-for-use-in-VFS-modules.patch
Type: application/octet-stream
Size: 2538 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20110608/682556f9/attachment.obj>


More information about the samba-technical mailing list