svn commit: samba r15909 - branches/SAMBA_3_0/source/modules trunk/source/modules

vlendec at samba.org vlendec at samba.org
Sat May 27 16:55:31 GMT 2006


Author: vlendec
Date: 2006-05-27 16:55:30 +0000 (Sat, 27 May 2006)
New Revision: 15909

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15909

Log:
Implement recycle:subdir_mode
Modified:
   branches/SAMBA_3_0/source/modules/vfs_recycle.c
   trunk/source/modules/vfs_recycle.c


Changeset:
Modified: branches/SAMBA_3_0/source/modules/vfs_recycle.c
===================================================================
--- branches/SAMBA_3_0/source/modules/vfs_recycle.c	2006-05-27 12:16:48 UTC (rev 15908)
+++ branches/SAMBA_3_0/source/modules/vfs_recycle.c	2006-05-27 16:55:30 UTC (rev 15909)
@@ -181,6 +181,23 @@
 	return (mode_t)dirmode;
 }
 
+static mode_t recycle_subdir_mode(vfs_handle_struct *handle)
+{
+	int dirmode;
+	const char *buff;
+
+	buff = lp_parm_const_string(SNUM(handle->conn), "recycle", "subdir_mode", NULL);
+
+	if (buff != NULL ) {
+		sscanf(buff, "%o", &dirmode);
+	} else {
+		dirmode=recycle_directory_mode(handle);
+	}
+
+	DEBUG(10, ("recycle: subdir_mode = %o\n", dirmode));
+	return (mode_t)dirmode;
+}
+
 static BOOL recycle_directory_exist(vfs_handle_struct *handle, const char *dname)
 {
 	SMB_STRUCT_STAT st;
@@ -270,6 +287,7 @@
 			}
 		}
 		safe_strcat(new_dir, "/", len);
+		mode = recycle_subdir_mode(handle);
 	}
 
 	ret = True;

Modified: trunk/source/modules/vfs_recycle.c
===================================================================
--- trunk/source/modules/vfs_recycle.c	2006-05-27 12:16:48 UTC (rev 15908)
+++ trunk/source/modules/vfs_recycle.c	2006-05-27 16:55:30 UTC (rev 15909)
@@ -181,6 +181,23 @@
 	return (mode_t)dirmode;
 }
 
+static mode_t recycle_subdir_mode(vfs_handle_struct *handle)
+{
+	int dirmode;
+	const char *buff;
+
+	buff = lp_parm_const_string(SNUM(handle->conn), "recycle", "subdir_mode", NULL);
+
+	if (buff != NULL ) {
+		sscanf(buff, "%o", &dirmode);
+	} else {
+		dirmode=recycle_directory_mode(handle);
+	}
+
+	DEBUG(10, ("recycle: subdir_mode = %o\n", dirmode));
+	return (mode_t)dirmode;
+}
+
 static BOOL recycle_directory_exist(vfs_handle_struct *handle, const char *dname)
 {
 	SMB_STRUCT_STAT st;
@@ -270,6 +287,7 @@
 			}
 		}
 		safe_strcat(new_dir, "/", len);
+		mode = recycle_subdir_mode(handle);
 	}
 
 	ret = True;



More information about the samba-cvs mailing list