libbb: remove is_directory's argument which is always NULL
authorDenys Vlasenko <vda.linux@googlemail.com>
Sun, 18 Dec 2011 02:27:46 +0000 (03:27 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Sun, 18 Dec 2011 02:27:46 +0000 (03:27 +0100)
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@googlemail.com>
coreutils/ln.c
include/libbb.h
libbb/isdirectory.c
networking/httpd.c

index 88a9a8f..0eb3e65 100644 (file)
@@ -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));
index bc9b7b0..22d2a5b 100644 (file)
@@ -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 */
index 9861be6..ba6c52c 100644 (file)
  * 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;
 }
index cda7cc7..e9cd213 100644 (file)
@@ -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();