[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] io/fts.c: Remove redundant checks
From: |
Jim Meyering |
Subject: |
Re: [PATCH] io/fts.c: Remove redundant checks |
Date: |
Wed, 04 Oct 2006 10:25:12 +0200 |
"Dmitry V. Levin" <address@hidden> wrote:
> 2006-10-02 Dmitry V. Levin <address@hidden>
>
> * io/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
> checks.
Thank you.
I've applied those changes to the version of fts.c in gnulib, too.
If you have applications that use fts and that can tolerate
a different ABI, you should consider using the gnulib version:
it has fewer limitations, and is thread-safe and more efficient.
> --- glibc-2.5.orig/io/fts.c
> +++ glibc-2.5/io/fts.c
> @@ -251,8 +251,7 @@ fts_close(sp)
> /* Free up child linked list, sort array, path buffer. */
> if (sp->fts_child)
> fts_lfree(sp->fts_child);
> - if (sp->fts_array)
> - free(sp->fts_array);
> + free(sp->fts_array);
> free(sp->fts_path);
>
> /* Return to original directory, save errno if necessary. */
> @@ -705,8 +704,7 @@ fts_build(sp, type)
> * structures already allocated.
> */
> mem1: saved_errno = errno;
> - if (p)
> - free(p);
> + free(p);
> fts_lfree(head);
> (void)__closedir(dirp);
> cur->fts_info = FTS_ERR;
> @@ -1043,10 +1041,7 @@ fts_palloc(sp, more)
> * We limit fts_pathlen to USHRT_MAX to be safe in both cases.
> */
> if (sp->fts_pathlen < 0 || sp->fts_pathlen >= USHRT_MAX) {
> - if (sp->fts_path) {
> - free(sp->fts_path);
> - sp->fts_path = NULL;
> - }
> + free(sp->fts_path);
> sp->fts_path = NULL;
> __set_errno (ENAMETOOLONG);
> return (1);
>
> --
> ldv
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH] io/fts.c: Remove redundant checks,
Jim Meyering <=