Tom Tromey | 12 Feb 21:42 2014

bug#16732: [PATCH] update manual for texinfo 5.1

Change the manual to build with texinfo 5.1.

	* doc/idutils.texi (Top): Rearrange menu.
	(Quick start): Use  <at> itemize and  <at> item.
	(Common options): Rearrange menu.
	(Walker options): Use  <at> item, not  <at> itemx.
	(Past and Future): Use  <at> itemize and  <at> item.
 doc/idutils.texi | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/doc/idutils.texi b/doc/idutils.texi
index 9d681ba..0a6da92 100644
--- a/doc/idutils.texi
+++ b/doc/idutils.texi
 <at>  <at>  -36,7 +36,7  <at>  <at>  END-INFO-DIR-ENTRY
  <at> copying
 This file documents the  <at> file{idutils} database utilities.

-Copyright  <at> copyright{} 1996, 1999-2000, 2008-2012 Free Software Foundation,
+Copyright  <at> copyright{} 1996, 1999-2000, 2008-2012, 2014 Free Software Foundation,

  <at> quotation
 <at>  <at>  -75,8 +75,8  <at>  <at>  This manual documents version  <at> value{VERSION} of the ID utilities.
 * mkid invocation::             Creating an ID database.
 * lid invocation::              Querying an ID database by token.
 * fid invocation::              Listing a file's tokens.
-* gid invocation::              Token-based grep
 * fnid invocation::             Looking up file names.
(Continue reading)

R. Diez | 24 Jan 19:56 2014

bug#16538: fpending.c:27:1: error: redefinition of '__fpending'

Hi all:

I tried to download and build idutils under Cygwin, and I came across this error message:

 CC       fpending.o
fpending.c:27:1: error: redefinition of '__fpending'
 __fpending (FILE *fp)
In file included from fpending.h:30:0,
                 from fpending.c:22:
/usr/include/stdio_ext.h:47:1: note: previous definition of '__fpending' was here
 __fpending (FILE *__fp) { return __fp->_p - __fp->_bf._base; }
Makefile:1590: recipe for target 'fpending.o' failed

This is from the configuration log:

checking for __fpending... no
checking whether __fpending is declared... yes

This message states that the problem was fixed upstream:

I tried running the 'bootstrap' script, and it did work:
(Continue reading)

Dave Love | 9 Dec 15:13 2013

bug#16092: fix for spec file

2013-12-09  Dave Love  <fx@...>

	* Fix source URL.

--- idutils-4.6/	2008-10-18 16:38:54.000000000 +0100
+++ idutils-4.6/	2013-12-09 14:11:00.802855478 +0000
 <at>  <at>  -6,7 +6,7  <at>  <at> 
 Group:		Development/Tools
 License:	GPLv3+
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

 BuildRequires:	emacs, gettext-devel
 <at>  <at>  -66,6 +66,9  <at>  <at> 

+* Mon Dec  9 2013 Dave Love <fx@...>
+- Fix source URL (.xz <- .gz).
 * Sat Oct 18 2008 Jim Meyering <meyering@...>
 - Newer version of gnulib to fix test-program build failure on ppc.
Jorma Karvonen | 21 Aug 14:43 2013

Invitation to connect on LinkedIn

From Jorma Karvonen
Independent Writing and Editing Professional and Software Developer

I'd like to add you to my professional network on LinkedIn.

- Jorma

You are receiving Invitation to Connect emails. Unsubscribe
© 2012, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA
bug-idutils mailing list
Anders Thøgersen | 28 Dec 22:11 2012

Error while compiling idutils-4.6

I thought I would report an error I get while compilng idutils-4.6 on
a Samsung Chromebook:

    ./stdio.h:1030:1: error: 'gets' undeclared here (not in a function)

If I disable this check in the file generating this file, it works as expected..

Best Regards
Jim Meyering | 23 Oct 16:11 2012

[PATCH] lid: avoid reading beyond end of buffer for a long name


From 30b13233f7a4d01d3a1826244661a6588e8c3f98 Mon Sep 17 00:00:00 2001
From: Jim Meyering <jim@...>
Date: Tue, 23 Oct 2012 16:10:21 +0200
Subject: [PATCH] lid: avoid reading beyond end of buffer for a long name

* libidu/idfile.h (stzncpy): Define, from coreutils.
* src/lid.c (query_ambiguous_prefix): Avoid buffer overrun.
Using strncpy to copy a too-long name would result in a "name"
that is not NUL-terminated, yet that name would be treated as
a NUL-terminated string immediately afterwards, via report_func,
which attempts to print it.
* libidu/fnprint.c (root_name): Use stzncpy in place of strncpy.
 libidu/fnprint.c |  6 +-----
 libidu/idfile.h  | 15 +++++++++++++++
 src/lid.c        |  4 ++--
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/libidu/fnprint.c b/libidu/fnprint.c
index b8d97ce..4129441 100644
--- a/libidu/fnprint.c
+++ b/libidu/fnprint.c
 <at>  <at>  -46,11 +46,7  <at>  <at>  root_name (char const *file_name)
   char const *dot = strrchr (file_name, '.');

   if (dot)
-    {
-      int length = dot - file_name;
-      strncpy (file_name_buffer, file_name, length);
-      file_name_buffer[length] = '\0';
-    }
+    stzncpy (file_name_buffer, file_name, dot - file_name);
     strcpy (file_name_buffer, file_name);
   return file_name_buffer;
diff --git a/libidu/idfile.h b/libidu/idfile.h
index 739819d..3775d7a 100644
--- a/libidu/idfile.h
+++ b/libidu/idfile.h
 <at>  <at>  -225,4 +225,19  <at>  <at>  extern off_t largest_member_file;


+/* Like stpncpy, but do ensure that the result is NUL-terminated,
+   and do not NUL-pad out to LEN.  I.e., when strnlen (src, len) == len,
+   this function writes a NUL byte into dest[len].  Thus, the length
+   of the destination buffer must be at least LEN + 1.
+   The DEST and SRC buffers must not overlap.  */
+static inline char *
+stzncpy (char *restrict dest, char const *restrict src, size_t len)
+  char const *src_end = src + len;
+  while (src < src_end && *src)
+    *dest++ = *src++;
+  *dest = 0;
+  return dest;
 #endif /* not _idfile_h_ */
diff --git a/src/lid.c b/src/lid.c
index cd307c0..8a31268 100644
--- a/src/lid.c
+++ b/src/lid.c
 <at>  <at>  -1042,7 +1042,7  <at>  <at>  query_ambiguous_prefix (unsigned int limit, report_func_t report_func)
 	  if (consecutive && key_style != ks_token)
-	      strncpy (&name[1], old, limit);
+	      stzncpy (&name[1], old, limit - 2);
 	      (*report_func) (name, bits_to_flinkv (bits_vec));
 	  consecutive = 0;
 <at>  <at>  -1064,7 +1064,7  <at>  <at>  query_ambiguous_prefix (unsigned int limit, report_func_t report_func)
   if (consecutive && key_style != ks_token)
-      strncpy (&name[1], new, limit);
+      stzncpy (&name[1], new, limit - 2);
       (*report_func) (name, bits_to_flinkv (bits_vec));
   return count;
Jim Meyering | 23 Oct 14:58 2012

enable --enable-gcc-warnings by default in a from-clone build

Eric did this in libvirt, and I liked it, so also in coreutils.
Finally, I'm updating all other C projects I tend to do the same thing:

From a6211c988649214a6cfaa10ba13d77b8e65a8fff Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@...>
Date: Tue, 23 Oct 2012 11:08:51 +0200
Subject: [PATCH] build: default to --enable-gcc-warnings in a git tree

Anyone building from cloned sources can be assumed to have a new
enough environment, such that enabling gcc warnings by default will
be useful.  Tarballs still default to no warnings, and the default
can still be overridden with --disable-gcc-warnings.
* (gl_gcc_warnings): Set default based on environment.
--- | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/ b/
index 4716744..b80a85d 100644
--- a/
+++ b/
 <at>  <at>  -29,7 +29,11  <at>  <at>  AC_ARG_ENABLE([gcc-warnings],
      *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
-  [gl_gcc_warnings=no]
+  [if test -d "$srcdir"/.git; then
+     gl_gcc_warnings=yes
+   else
+     gl_gcc_warnings=no
+   fi]

 if test "$gl_gcc_warnings" = yes; then
Jim Blandy | 13 Sep 23:44 2012

JavaScript support and non-ASCII identifiers

[apologies if this isn't the right list; please redirect if that's the case]

I've started toying with adding JavaScript support to idutils. The
JavaScript grammar is defined in terms of a stream of UTF-16 code
units (not, unfortunately, in terms of Unicode code points), and JS
identifiers can contain non-ASCII characters. What kind of 'struct
token' should I return for that? Is there a defined encoding for
non-ASCII characters in the ID database?

If we elect to use UTF-8 in ID databases, then we'll need to depend on
something like iconv to convert to and from the locale's current
encoding --- assuming that the files read are using that.

If we elect to use the locale's coded character set in ID databases,
then interpreting a database's contents correctly will depend on the
coded character set being the same as it was when the database was
created, which seems unfortunate. The JavaScript scanner would still
need to use iconv to get the UTF-16 stream it needs, so this approach
won't avoid introducing a dependency on iconv.

For now, I'm going to punt on non-ASCII characters, treating them all
as identifier components.
Jim Blandy | 13 Sep 22:03 2012

Patch: update .gitignore file

After I did an out-of-tree build of idutils from,
I ended up with a bunch of generated files that git wasn't sure what
to do with, so I added them to .gitignore.

It seems like the 'm4' directory is entirely created by gnulib(?), so
I added the whole directory.

If it helps, this patch is the sole commit on the 'gitignore' branch
of this git repository:

commit 63b956caa5bfaf52f6865e32739b1cab5a8610e1
Author: Jim Blandy <jimb@...>
Date:   Thu Sep 13 11:21:08 2012 -0700

    Update .gitignore for files added by build.

diff --git a/.gitignore b/.gitignore
index ef49d35..6558547 100644
--- a/.gitignore
+++ b/.gitignore
 <at>  <at>  -16,6 +16,8  <at>  <at> 
 <at>  <at>  -26,33 +28,49  <at>  <at>  config.log
 <at>  <at>  -62,3 +80,4  <at>  <at>  src/lid
Jim Meyering | 11 May 13:10 2012

[PATCH 2/3] maint: avoid new syntax-check failures

FYI, with this, "make distcheck" now runs the syntax-check rules,
so problems like the one introduced by the NEWS spelling fix will
be less likely to be pushed.

From 2973ee3e9709b4355316bd0fdb31b83ea1cdb61e Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@...>
Date: Fri, 11 May 2012 12:13:33 +0200
Subject: [PATCH 1/3] build: update gnulib submodule to latest

 gnulib | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnulib b/gnulib
index 4ddd9dd..1f96aa0 160000
--- a/gnulib
+++ b/gnulib
 <at>  <at>  -1 +1  <at>  <at> 
-Subproject commit 4ddd9dd5c80d2058001c9bec68b7f0ef0bc3a56f
+Subproject commit 1f96aa01f72bba8c9a0600280594a1a92bb505fc

From baaa6740c7a197f9d4a919e689507144fb1da00f Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@...>
Date: Fri, 11 May 2012 12:52:52 +0200
Subject: [PATCH 2/3] maint: avoid new syntax-check failures

* (old_NEWS_hash): Update to reflect typo fix in old NEWS.
* doc/idutils.texi: Add "." before  <at> xref.
---           | 2 +-
 doc/idutils.texi | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ b/
index 9b68f6f..26883d8 100644
--- a/
+++ b/
 <at>  <at>  -28,7 +28,7  <at>  <at>  local-checks-to-skip =			\
   sc_prohibit_atoi_atof			\

-old_NEWS_hash = 4679385bd7319eb972b36685fca28c2e
+old_NEWS_hash = 0d3506ea3896c9f25ac6965df07bc1dd

 -include $(srcdir)/

diff --git a/doc/idutils.texi b/doc/idutils.texi
index 66b99ae..47bfbff 100644
--- a/doc/idutils.texi
+++ b/doc/idutils.texi
 <at>  <at>  -380,7 +380,7  <at>  <at>  options:
  <at> cindex language map file

  <at> var{mapfile} contains rules for determining the source languages from
-file names  <at> xref{Language map}.
+file names.   <at> xref{Language map}.

  <at> item -i  <at> var{languages}
  <at> itemx --include= <at> var{languages}

From b7ac27d5fe9ef7751b79812dc0095a59bddbfd4d Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@...>
Date: Fri, 11 May 2012 12:58:17 +0200
Subject: [PATCH 3/3] maint: arrange for "make distcheck" to run the
 syntax-check rules

(distcheck-hook): Depend on syntax-check.
--- | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ b/
index 9c5dba8..7a32940 100644
--- a/
+++ b/
 <at>  <at>  -39,3 +39,6  <at>  <at>  BUILT_SOURCES = .version
 # See the rm_subst comment for details.
 dist-hook: gen-ChangeLog
 	echo $(VERSION) > $(distdir)/.tarball-version
+ALL_RECURSIVE_TARGETS = distcheck-hook
+distcheck-hook: syntax-check
Jim Meyering | 18 Apr 08:32 2012

[PATCH] maint: fix comment/doc typos


From 3e12f18c5be18db461e7f869fbb70032f3ce6f70 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@...>
Date: Wed, 18 Apr 2012 08:31:34 +0200
Subject: [PATCH] maint: fix comment/doc typos

Found using
* ChangeLog-2007: As above.
* NEWS: Likewise.
* src/mkid.c: Likewise.
 ChangeLog-2007 |    2 +-
 NEWS           |    2 +-
 src/mkid.c     |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ChangeLog-2007 b/ChangeLog-2007
index dbd8778..4c1bd36 100644
--- a/ChangeLog-2007
+++ b/ChangeLog-2007
 <at>  <at>  -61,7 +61,7  <at>  <at> 
 2006-08-22  Claudio Fontana  <claudio@...>

 	* doc/idutils.texi: fix wrong example .emacs entry, where
-	  a non existant 'gid' lisp is loaded instead of 'idutils'.
+	  a nonexistent 'gid' lisp is loaded instead of 'idutils'.

 2006-08-05  Claudio Fontana  <claudio@...>

diff --git a/NEWS b/NEWS
index 44e674e..56ba539 100644
--- a/NEWS
+++ b/NEWS
 <at>  <at>  -179,7 +179,7  <at>  <at>  Version 3.0.9 - May 30, 1996, by Greg McGary
 * id-utils now uses automake.

 * gid, aid and eid are now shell-script wrappers that
-  call `lid' with the apropriate argument.
+  call `lid' with the appropriate argument.

 * A new environment `IDPATH' contains a colon-separated list of ID file
   names for use by `fid' and `lid'.  It is only partially implemented at
diff --git a/src/mkid.c b/src/mkid.c
index 0c882f2..bd31c7d 100644
--- a/src/mkid.c
+++ b/src/mkid.c
 <at>  <at>  -672,7 +672,7  <at>  <at>  report_statistics (void)
    we are generating the ID file in a remote directory, then adjust
    the file names to be relative to the location of the ID database.

-   (This would be a common useage if you want to make a database for a
+   (This would be a common usage if you want to make a database for a
    directory which you have no write access to, so you cannot create
    the ID file.)  */