]> Savannah Git Hosting - gnulib.git/commitdiff
fts: avoid unnecessary strlen calls
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 9 Apr 2014 16:08:55 +0000 (09:08 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 9 Apr 2014 16:10:31 +0000 (09:10 -0700)
* lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
when that can be faster than strlen.

ChangeLog
lib/fts.c

index 0e9a383ab552111a268ec833ed5f50e8ac79f56e..fb2f7a1e4ab8cdeb91c2f1b102734431caef6f5f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fts: avoid unnecessary strlen calls
+       * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
+       when that can be faster than strlen.
+
 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
 
        fts: avoid unnecessary strlen calls
index 660aeffbd662234d908b9c7a8b144a0b4f01b099..992bbad777b300fd76c7607584d76cec2fea72bc 100644 (file)
--- a/lib/fts.c
+++ b/lib/fts.c
@@ -1451,8 +1451,9 @@ fts_build (register FTS *sp, int type)
                 if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
                         continue;
 
-                d_namelen = strlen (dp->d_name);
-                if ((p = fts_alloc (sp, dp->d_name, d_namelen)) == NULL)
+                d_namelen = _D_EXACT_NAMLEN (dp);
+                p = fts_alloc (sp, dp->d_name, d_namelen);
+                if (!p)
                         goto mem1;
                 if (d_namelen >= maxlen) {
                         /* include space for NUL */