[Fwd: Re: [PATCH] s3: Fix max indentation and max column]

Swen Schillig swen at vnet.ibm.com
Mon Mar 12 19:10:42 UTC 2018


On Mon, 2018-03-12 at 11:42 -0700, Christof Schmitt wrote:
> On Fri, Mar 09, 2018 at 04:31:29PM -0800, Jeremy Allison via samba-technical wrote:
> > On Fri, Mar 09, 2018 at 04:00:27PM -0700, Christof Schmitt wrote:
> > > On Fri, Mar 09, 2018 at 02:11:23PM -0800, Jeremy Allison via samba-technical wrote:
> > > > On Wed, Mar 07, 2018 at 08:04:54PM +0100, Swen Schillig wrote:
> > > > > Jeremy, you're a bad man :-)
> > > > > 
> > > > > On Wed, 2018-03-07 at 09:16 -0800, Jeremy Allison wrote:
> > > > > > > On Tue, 2018-03-06 at 15:22 -0800, Jeremy Allison wrote:
> > > > > > > > 
> > > > > > 
> > > > > > Well what you're doing here is also reformatting the original
> > > > > > code (which curently matches my preferred pattern). So IMHO when
> > > > > > removing a layer of indentation you can keep the existing formatting
> > > > > > of the parameter list without violating the Samba coding rules.
> > > > > > 
> > > > > > Plus right now you have a NAK with the patten change, but
> > > > > > only a *potential* NAK without the pattern change.
> > > > > > 
> > > > > > So the way forward is to re-submit this without the pattern
> > > > > > change and I'll +1 and ask for a second Team member +1. If
> > > > > > we get another NAK due to the patten change then we'll cross
> > > > > > that bridge when we come to it.
> > > > > > 
> > > > > > In the meantime I'll work on getting README.Coding changed
> > > > > > so the "correct" way of parameter passing is preferred :-).
> > > > > > 
> > > > > 
> > > > > ...here we go...complying to new coding rules :-)
> > > > > 
> > > > > Cheers Swen
> > > > 
> > > > LGTM. Reviewed-by: Jeremy Allison <jra at samba.org>
> > > > 
> > > > Can I get a second Team reviewer ?
> > > > 
> > > > Jeremy.
> > > > 
> > > > > From 4e884e5a19779aacf77d6ffd3c971474eb356472 Mon Sep 17 00:00:00 2001
> > > > > From: Swen Schillig <swen at vnet.ibm.com>
> > > > > Date: Mon, 5 Mar 2018 12:55:23 +0100
> > > > > Subject: [PATCH] s3: Fix max indentation and max column
> > > > > 
> > > > > Minor cleanup reducing the max indentation level and max column length.
> > > > > 
> > > > > Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
> > > > > ---
> > > > >  source3/smbd/dir.c | 45 +++++++++++++++++++++++++--------------------
> > > > >  1 file changed, 25 insertions(+), 20 deletions(-)
> > > > > 
> > > > > diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c
> > > > > index 6621b4ee387..a4045918cc3 100644
> > > > > --- a/source3/smbd/dir.c
> > > > > +++ b/source3/smbd/dir.c
> > > > > @@ -159,29 +159,34 @@ static struct dptr_struct *dptr_get(struct smbd_server_connection *sconn,
> > > > >  				    int key, bool forclose)
> > > > >  {
> > > > >  	struct dptr_struct *dptr;
> > > > > +	const int dirhandles_open = sconn->searches.dirhandles_open;
> > > > >  
> > > > > -	for(dptr = sconn->searches.dirptrs; dptr; dptr = dptr->next) {
> > > > > -		if(dptr->dnum == key) {
> > > > > -			if (!forclose && !dptr->dir_hnd) {
> > > > > -				if (sconn->searches.dirhandles_open >= MAX_OPEN_DIRECTORIES)
> > > > > -					dptr_idleoldest(sconn);
> > > > > -				DEBUG(4,("dptr_get: Reopening dptr key %d\n",key));
> > > > > -
> > > > > -				if (!(dptr->dir_hnd = OpenDir(NULL,
> > > > > -							dptr->conn,
> > > > > -							dptr->smb_dname,
> > > > > -							dptr->wcard,
> > > > > -							dptr->attr))) {
> > > > > -					DEBUG(4,("dptr_get: Failed to "
> > > > > -						"open %s (%s)\n",
> > > > > -						dptr->smb_dname->base_name,
> > > > > -						strerror(errno)));
> > > > > -					return NULL;
> > > > > -				}
> > > > > +	for (dptr = sconn->searches.dirptrs; dptr; dptr = dptr->next) {
> 
> Should the condition compare explicitly against NULL?
> dptr != NULL
> 
> > > > > +		if(dptr->dnum != key) {
> > > > > +			continue;
> > > > > +		}
> > > > > +
> > > > > +		if (!forclose && !dptr->dir_hnd) {
> 
> Add an explicit check for NULL:
> if (!forclose && dptr->dir_hnd == NULL) {
> 
> 
> > > > > +			if (dirhandles_open >= MAX_OPEN_DIRECTORIES) {
> > > > > +				dptr_idleoldest(sconn);
> > > > > +			}
> > > > > +			DEBUG(4,("dptr_get: Reopening dptr key %d\n",key));
> > > 
> > > Should we update the debug statements while touching the code?
> > > That could become:
> > > DBG_INFO("Reopening dptr key %d\n", key);
> > 
> > Yeah, fair enough if we're updating the code
> > we should probably do that.
> > 
> > > > > +
> > > > > +			dptr->dir_hnd = OpenDir(NULL,
> > > > > +						dptr->conn,
> > > > > +						dptr->smb_dname,
> > > > > +						dptr->wcard,
> > > > > +						dptr->attr);
> > > > > +
> > > > > +			if (dptr->dir_hnd == NULL) {
> > > > > +				DEBUG(4,("dptr_get: Failed to open %s (%s)\n",
> > > > > +				      dptr->smb_dname->base_name,
> > > > > +				      strerror(errno)));
> > > 
> > > DBG_NOTICE("Failed to open ...
> > 
> > If I do these changes will you +1 it ?
> 
> I took a closer look. If we touch the code anyway, the pointer checks
> could also explicitly check for NULL.
> 
> Otherwise this looks good.
> 
> +1 from me with these changes included.
> 
> Christof
> 
Ok, integrated all suggested updates.

Thanks for your support.

Cheers Swen
-------------- next part --------------
From b3a7ee04b1552feda6137c1b3c48514a0289ad74 Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Mon, 5 Mar 2018 12:55:23 +0100
Subject: [PATCH] s3: Fix max indentation and max column

Minor cleanup reducing the max indentation level and max column length.

Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
 source3/smbd/dir.c | 45 +++++++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 20 deletions(-)

diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c
index 6621b4ee387..4c74094a6c5 100644
--- a/source3/smbd/dir.c
+++ b/source3/smbd/dir.c
@@ -159,29 +159,34 @@ static struct dptr_struct *dptr_get(struct smbd_server_connection *sconn,
 				    int key, bool forclose)
 {
 	struct dptr_struct *dptr;
+	const int dirhandles_open = sconn->searches.dirhandles_open;
 
-	for(dptr = sconn->searches.dirptrs; dptr; dptr = dptr->next) {
-		if(dptr->dnum == key) {
-			if (!forclose && !dptr->dir_hnd) {
-				if (sconn->searches.dirhandles_open >= MAX_OPEN_DIRECTORIES)
-					dptr_idleoldest(sconn);
-				DEBUG(4,("dptr_get: Reopening dptr key %d\n",key));
-
-				if (!(dptr->dir_hnd = OpenDir(NULL,
-							dptr->conn,
-							dptr->smb_dname,
-							dptr->wcard,
-							dptr->attr))) {
-					DEBUG(4,("dptr_get: Failed to "
-						"open %s (%s)\n",
-						dptr->smb_dname->base_name,
-						strerror(errno)));
-					return NULL;
-				}
+	for (dptr = sconn->searches.dirptrs; dptr != NULL; dptr = dptr->next) {
+		if(dptr->dnum != key) {
+			continue;
+		}
+
+		if (!forclose && (dptr->dir_hnd != NULL)) {
+			if (dirhandles_open >= MAX_OPEN_DIRECTORIES) {
+				dptr_idleoldest(sconn);
+			}
+			DBG_INFO("dptr_get: Reopening dptr key %d\n",key);
+
+			dptr->dir_hnd = OpenDir(NULL,
+						dptr->conn,
+						dptr->smb_dname,
+						dptr->wcard,
+						dptr->attr);
+
+			if (dptr->dir_hnd == NULL) {
+				DBG_INFO("dptr_get: Failed to open %s (%s)\n",
+				      dptr->smb_dname->base_name,
+				      strerror(errno));
+				return NULL;
 			}
-			DLIST_PROMOTE(sconn->searches.dirptrs,dptr);
-			return dptr;
 		}
+		DLIST_PROMOTE(sconn->searches.dirptrs, dptr);
+		return dptr;
 	}
 	return(NULL);
 }
-- 
2.14.3



More information about the samba-technical mailing list