[git commit] libbb: remove is_directory's argument which is always NULL

Denys Vlasenko vda.linux at googlemail.com
Sun Dec 18 02:27:46 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=f282c6b65775d3dff03de6fd3585722a1638f734
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
send_cgi_and_exit                                    892     890      -2
ln_main                                              447     445      -2
handle_incoming_and_exit                            2784    2780      -4
is_directory                                          66      59      -7
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 2/-19)             Total: -15 bytes

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/ln.c      |    4 ++--
 include/libbb.h     |    2 +-
 libbb/isdirectory.c |   15 +++++----------
 networking/httpd.c  |    6 +++---
 4 files changed, 11 insertions(+), 16 deletions(-)

diff --git a/coreutils/ln.c b/coreutils/ln.c
index 88a9a8f..0eb3e65 100644
--- a/coreutils/ln.c
+++ b/coreutils/ln.c
@@ -69,8 +69,8 @@ int ln_main(int argc, char **argv)
 		src = last;
 
 		if (is_directory(src,
-		                (opts & LN_NODEREFERENCE) ^ LN_NODEREFERENCE,
-		                NULL)
+		                (opts & LN_NODEREFERENCE) ^ LN_NODEREFERENCE
+		                )
 		) {
 			src_name = xstrdup(*argv);
 			src = concat_path_file(src, bb_get_last_path_component_strip(src_name));
diff --git a/include/libbb.h b/include/libbb.h
index bc9b7b0..22d2a5b 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -314,7 +314,7 @@ extern char *strrstr(const char *haystack, const char *needle) FAST_FUNC;
 
 //TODO: supply a pointer to char[11] buffer (avoid statics)?
 extern const char *bb_mode_string(mode_t mode) FAST_FUNC;
-extern int is_directory(const char *name, int followLinks, struct stat *statBuf) FAST_FUNC;
+extern int is_directory(const char *name, int followLinks) FAST_FUNC;
 enum {	/* DO NOT CHANGE THESE VALUES!  cp.c, mv.c, install.c depend on them. */
 	FILEUTILS_PRESERVE_STATUS = 1 << 0, /* -p */
 	FILEUTILS_DEREFERENCE     = 1 << 1, /* !-d */
diff --git a/libbb/isdirectory.c b/libbb/isdirectory.c
index 9861be6..ba6c52c 100644
--- a/libbb/isdirectory.c
+++ b/libbb/isdirectory.c
@@ -15,22 +15,17 @@
  * Return TRUE if fileName is a directory.
  * Nonexistent files return FALSE.
  */
-int FAST_FUNC is_directory(const char *fileName, int followLinks, struct stat *statBuf)
+int FAST_FUNC is_directory(const char *fileName, int followLinks)
 {
 	int status;
-	struct stat astatBuf;
-
-	if (statBuf == NULL) {
-		/* use auto stack buffer */
-		statBuf = &astatBuf;
-	}
+	struct stat statBuf;
 
 	if (followLinks)
-		status = stat(fileName, statBuf);
+		status = stat(fileName, &statBuf);
 	else
-		status = lstat(fileName, statBuf);
+		status = lstat(fileName, &statBuf);
 
-	status = (status == 0 && S_ISDIR(statBuf->st_mode));
+	status = (status == 0 && S_ISDIR(statBuf.st_mode));
 
 	return status;
 }
diff --git a/networking/httpd.c b/networking/httpd.c
index cda7cc7..e9cd213 100644
--- a/networking/httpd.c
+++ b/networking/httpd.c
@@ -1302,7 +1302,7 @@ static void send_cgi_and_exit(
 	while ((script = strchr(script + 1, '/')) != NULL) {
 		int dir;
 		*script = '\0';
-		dir = is_directory(url + 1, /*followlinks:*/ 1, NULL);
+		dir = is_directory(url + 1, /*followlinks:*/ 1);
 		*script = '/';
 		if (!dir) {
 			/* not directory, found script.cgi/PATH_INFO */
@@ -2048,7 +2048,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
 
 	/* If URL is a directory, add '/' */
 	if (urlp[-1] != '/') {
-		if (is_directory(urlcopy + 1, 1, NULL)) {
+		if (is_directory(urlcopy + 1, /*followlinks:*/ 1)) {
 			found_moved_temporarily = urlcopy;
 		}
 	}
@@ -2062,7 +2062,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
 	while (ip_allowed && (tptr = strchr(tptr + 1, '/')) != NULL) {
 		/* have path1/path2 */
 		*tptr = '\0';
-		if (is_directory(urlcopy + 1, 1, NULL)) {
+		if (is_directory(urlcopy + 1, /*followlinks:*/ 1)) {
 			/* may have subdir config */
 			parse_conf(urlcopy + 1, SUBDIR_PARSE);
 			ip_allowed = checkPermIP();


More information about the busybox-cvs mailing list