Re: [PATCH] cleans up builtin-mv
- From
- David Rientjes <rientjes@google.com>
- Date
- Aug 18, 2006, 06:12 UTC
- Message-ID
- <Pine.LNX.4.63.0608172301520.25827@chino.corp.google.com>
- In-Reply-To
- <Pine.LNX.4.63.0608172230470.25827@chino.corp.google.com>
On Thu, 17 Aug 2006, David Rientjes wrote:
> Cleans up builtin-mv by removing a needless check of source's length, > redefinition of source's length, and misuse of strlen call that was > already assigned. >
I'm not sure when this command had been added to the tree because it definitely was not included six months ago in a git tree I use everyday. It seems to me like this would more appropriately be handled by a simple shell script that would be much simpler to implement and could not possibly be slower than this implementation.
This patch is a small fraction of what could be changed in this implementation and I don't doubt it will undergo a complete rewrite in the future. I think the problems with it have compounded on top of itself over time which doesn't make a lot of sense since it appears to be a relatively new addition.
For example: (length = strlen(source[i])) >= 0
was _completely_ unnecessary since the previous instruction was a call to lstat(source[i], ...) which would return ENOENT if source[i] was empty. strlen(source[i]) was assigned to a variable later in the function, this time called "len" instead. There was also an additional call to strlen(source[i]) on its own even though the len variable was within scope.
This code is _utterly_ unsatisfactory.
David