bug-idutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-idutils] avoid a start-up leak; recognize a few more file types


From: Jim Meyering
Subject: [bug-idutils] avoid a start-up leak; recognize a few more file types
Date: Sun, 26 Oct 2008 21:45:32 +0100

Here are two patches, both just pushed:

>From fd1c0898aaa116401a705ca89005904a30006201 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Sat, 18 Oct 2008 22:01:36 +0200
Subject: [PATCH 1/2] avoid a start-up leak

* libidu/walker.c (get_current_dir_link): Don't leak cwd_0.
---
 libidu/walker.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/libidu/walker.c b/libidu/walker.c
index 8064282..8a27fec 100644
--- a/libidu/walker.c
+++ b/libidu/walker.c
@@ -611,23 +611,17 @@ struct file_link *
 get_current_dir_link (void)
 {
   struct file_link *dir_link;
-  char *cwd_0;
   char *cwd;
-  char *xcwd = 0;
   char **links_0;
   char **links;

   if (current_dir_link)
     return current_dir_link;

-  cwd_0 = getenv ("PWD");
-  if (cwd_0)
-    cwd_0 = xstrdup (cwd_0);
-  if (!same_as_dot (cwd_0))
-    cwd_0 = xcwd = xgetcwd ();
-  if (cwd_0 == 0)
+  cwd = getenv ("PWD");
+  cwd = same_as_dot (cwd) ? xstrdup (cwd) : xgetcwd ();
+  if (cwd == NULL)
     error (1, errno, _("can't get working directory"));
-  cwd = cwd_0;
 #if HAVE_LINK
   dir_link = get_link_from_string (SLASH_STRING, 0);
   dir_link->fl_flags = (dir_link->fl_flags & ~FL_TYPE_MASK) | FL_TYPE_DIR;
@@ -645,7 +639,7 @@ get_current_dir_link (void)
     }
   chdir_to_link (dir_link);
   free (links_0);
-  free (xcwd);
+  free (cwd);
   current_dir_link = dir_link;
   return dir_link;
 }
--
1.6.0.3.729.g6ea410


>From 7cf3d4a6a03d68898f0d673c0ae127efe47cc3db Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Mon, 20 Oct 2008 15:10:11 +0200
Subject: [PATCH 2/2] recognize a few more file types

* libidu/id-lang.map: Recognize .rb, .in.h, .PL, configure.in,
and GNUmakefile.
---
 libidu/id-lang.map |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/libidu/id-lang.map b/libidu/id-lang.map
index 693cf7f..1234cdd 100644
--- a/libidu/id-lang.map
+++ b/libidu/id-lang.map
@@ -36,6 +36,7 @@

 *.h                    C
 *.h.in                 C
+*.in.h                 C
 *.H                    C++
 *.hh                   C++
 *.hpp                  C++
@@ -82,16 +83,21 @@ ChangeLog*          Cdoc
 *.mk                   make
 Makefile               make
 Makefile.*             make
+GNUmakefile            make

 *.doc                  text
 *.txt                  text

 *.m4                   m4
 *.ac                   m4
+configure.in           m4

+*.PL                   perl
 *.pl                   perl
 *.pm                   perl

+*.rb                   perl
+
 *.Z                    FILTER gzip -d <%s
 *.gz                   FILTER gzip -d <%s
 *.bz2                  FILTER bzip2 -d <%s
--
1.6.0.3.729.g6ea410




reply via email to

[Prev in Thread] Current Thread [Next in Thread]