bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* new module 'basename-lgpl'
@ 2020-07-05 19:20 Bruno Haible
  0 siblings, 0 replies; only message in thread
From: Bruno Haible @ 2020-07-05 19:20 UTC (permalink / raw)
  To: bug-gnulib

[-- Attachment #1: Type: text/plain, Size: 2834 bytes --]

GNU gettext and a couple of gnulib modules need only half of the 'dirname-lgpl'
module, namely essentially the 'basename' equivalent function (now called
'last_component').

In order to minimize dependencies, let me split this out into a separate
module.

So, 'dirname-lgpl' now depends on 'basename-lgpl'.

Also, let me enhance the documentation of function 'last_component'.
In particular, the documentation should state
  - what is the return value in case of a trailing slash,
  - why it is called 'last_component' and not 'basename',
  - what is the different w.r.t. glibc 'basename'.


2020-07-05  Bruno Haible  <bruno@clisp.org>

	mkancesdirs: Trim module dependencies.
	* lib/mkancesdirs.c: Include filename.h instead of dirname.h.
	* modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	getprogname: Trim module dependencies.
	* lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
	* modules/getprogname (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	filenamecat-lgpl: Trim module dependencies.
	* lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
	dirname.h.
	* modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl, filename.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	backupfile, backup-rename: Trim module dependencies.
	* lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
	* modules/backupfile (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl.
	* modules/backup-rename (Depends-on): Likewise.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	argp: Trim module dependencies.
	* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
	* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	basename-lgpl: New module.
	* lib/basename-lgpl.h: New file, based on lib/dirname.h and
	lib/basename-lgpl.c.
	* lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
	<stdbool.h>, filename.h.
	(last_component): Rename a local variable.
	* lib/dirname.h: Include basename-lgpl.h.
	(DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
	(last_component, base_len): Remove declarations.
	* modules/basename-lgpl: New file.
	* modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
	(Depends-on): Add basename-lgpl. Remove double-slash-root.
	(Makefile.am): Don't compile basename-lgpl.c.
	* doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
	not 'dirname'.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	dirname, dirname-lgpl: Simplify.
	* m4/dirname.m4: Remove file.
	* modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
	* modules/dirname-lgpl (Files): Remove m4/dirname.m4.
	(configure.ac): Don't invoke gl_DIRNAME_LGPL.


[-- Attachment #2: 0001-dirname-dirname-lgpl-Simplify.patch --]
[-- Type: text/x-patch, Size: 2499 bytes --]

From dc4b3181b30ece859f68902610f2ce0c613e85d1 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 18:05:31 +0200
Subject: [PATCH 1/7] dirname, dirname-lgpl: Simplify.

* m4/dirname.m4: Remove file.
* modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
* modules/dirname-lgpl (Files): Remove m4/dirname.m4.
(configure.ac): Don't invoke gl_DIRNAME_LGPL.
---
 ChangeLog            |  8 ++++++++
 m4/dirname.m4        | 19 -------------------
 modules/dirname      |  1 -
 modules/dirname-lgpl |  2 --
 4 files changed, 8 insertions(+), 22 deletions(-)
 delete mode 100644 m4/dirname.m4

diff --git a/ChangeLog b/ChangeLog
index 4a4b8bb..b2fe127 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
+	dirname, dirname-lgpl: Simplify.
+	* m4/dirname.m4: Remove file.
+	* modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
+	* modules/dirname-lgpl (Files): Remove m4/dirname.m4.
+	(configure.ac): Don't invoke gl_DIRNAME_LGPL.
+
 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
 
 	tests: avoid shadowing warning
diff --git a/m4/dirname.m4 b/m4/dirname.m4
deleted file mode 100644
index 9995ff3..0000000
--- a/m4/dirname.m4
+++ /dev/null
@@ -1,19 +0,0 @@
-#serial 10   -*- autoconf -*-
-dnl Copyright (C) 2002-2006, 2009-2020 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-AC_DEFUN([gl_DIRNAME],
-[
-  AC_REQUIRE([gl_DIRNAME_LGPL])
-])
-
-AC_DEFUN([gl_DIRNAME_LGPL],
-[
-  dnl Prerequisites of lib/dirname.h.
-  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
-
-  dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c,
-  dnl lib/stripslash.c.
-])
diff --git a/modules/dirname b/modules/dirname
index dce323a..e3ffbe0 100644
--- a/modules/dirname
+++ b/modules/dirname
@@ -12,7 +12,6 @@ xalloc
 xstrndup
 
 configure.ac:
-gl_DIRNAME
 gl_MODULE_INDICATOR([dirname])
 
 Makefile.am:
diff --git a/modules/dirname-lgpl b/modules/dirname-lgpl
index d6c3efd..b919102 100644
--- a/modules/dirname-lgpl
+++ b/modules/dirname-lgpl
@@ -6,7 +6,6 @@ lib/dirname.h
 lib/dirname-lgpl.c
 lib/basename-lgpl.c
 lib/stripslash.c
-m4/dirname.m4
 
 Depends-on:
 double-slash-root
@@ -15,7 +14,6 @@ malloc-posix
 stdbool
 
 configure.ac:
-gl_DIRNAME_LGPL
 
 Makefile.am:
 lib_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
-- 
2.7.4


[-- Attachment #3: 0002-basename-lgpl-New-module.patch --]
[-- Type: text/x-patch, Size: 9075 bytes --]

From b32e203eee9c9259996310b6bcf55a13b102348a Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 18:06:13 +0200
Subject: [PATCH 2/7] basename-lgpl: New module.

* lib/basename-lgpl.h: New file, based on lib/dirname.h and
lib/basename-lgpl.c.
* lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
<stdbool.h>, filename.h.
(last_component): Rename a local variable.
* lib/dirname.h: Include basename-lgpl.h.
(DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
(last_component, base_len): Remove declarations.
* modules/basename-lgpl: New file.
* modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
(Depends-on): Add basename-lgpl. Remove double-slash-root.
(Makefile.am): Don't compile basename-lgpl.c.
* doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
not 'dirname'.
---
 ChangeLog                         | 18 +++++++++
 doc/posix-functions/basename.texi |  4 +-
 lib/basename-lgpl.c               | 20 ++++------
 lib/basename-lgpl.h               | 78 +++++++++++++++++++++++++++++++++++++++
 lib/dirname.h                     |  7 +---
 modules/basename-lgpl             | 25 +++++++++++++
 modules/dirname-lgpl              |  5 +--
 7 files changed, 134 insertions(+), 23 deletions(-)
 create mode 100644 lib/basename-lgpl.h
 create mode 100644 modules/basename-lgpl

diff --git a/ChangeLog b/ChangeLog
index b2fe127..1396c94 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	basename-lgpl: New module.
+	* lib/basename-lgpl.h: New file, based on lib/dirname.h and
+	lib/basename-lgpl.c.
+	* lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
+	<stdbool.h>, filename.h.
+	(last_component): Rename a local variable.
+	* lib/dirname.h: Include basename-lgpl.h.
+	(DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
+	(last_component, base_len): Remove declarations.
+	* modules/basename-lgpl: New file.
+	* modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
+	(Depends-on): Add basename-lgpl. Remove double-slash-root.
+	(Makefile.am): Don't compile basename-lgpl.c.
+	* doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
+	not 'dirname'.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	dirname, dirname-lgpl: Simplify.
 	* m4/dirname.m4: Remove file.
 	* modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
diff --git a/doc/posix-functions/basename.texi b/doc/posix-functions/basename.texi
index e75b510..ebc616e 100644
--- a/doc/posix-functions/basename.texi
+++ b/doc/posix-functions/basename.texi
@@ -23,5 +23,5 @@ version and the GNU version.
 names in Windows syntax.
 @end itemize
 
-The Gnulib module @code{dirname} provides similar API, with function
-@code{base_name}, that also works with Windows file names.
+The Gnulib module @code{basename-lgpl} provides similar API, with a function
+@code{last_component}, that also works with Windows file names.
diff --git a/lib/basename-lgpl.c b/lib/basename-lgpl.c
index 565469e..6bb28d4 100644
--- a/lib/basename-lgpl.c
+++ b/lib/basename-lgpl.c
@@ -18,20 +18,20 @@
 
 #include <config.h>
 
-#include "dirname.h"
+/* Specification.  */
+#include "basename-lgpl.h"
 
+#include <stdbool.h>
 #include <string.h>
 
-/* Return the address of the last file name component of NAME.  If
-   NAME has no relative file name components because it is a file
-   system root, return the empty string.  */
+#include "filename.h"
 
 char *
 last_component (char const *name)
 {
   char const *base = name + FILE_SYSTEM_PREFIX_LEN (name);
   char const *p;
-  bool saw_slash = false;
+  bool last_was_slash = false;
 
   while (ISSLASH (*base))
     base++;
@@ -39,21 +39,17 @@ last_component (char const *name)
   for (p = base; *p; p++)
     {
       if (ISSLASH (*p))
-        saw_slash = true;
-      else if (saw_slash)
+        last_was_slash = true;
+      else if (last_was_slash)
         {
           base = p;
-          saw_slash = false;
+          last_was_slash = false;
         }
     }
 
   return (char *) base;
 }
 
-/* Return the length of the basename NAME.  Typically NAME is the
-   value returned by base_name or last_component.  Act like strlen
-   (NAME), except omit all trailing slashes.  */
-
 size_t
 base_len (char const *name)
 {
diff --git a/lib/basename-lgpl.h b/lib/basename-lgpl.h
new file mode 100644
index 0000000..203ec23
--- /dev/null
+++ b/lib/basename-lgpl.h
@@ -0,0 +1,78 @@
+/*  Extract the last component (base name) of a file name.
+
+    Copyright (C) 1998, 2001, 2003-2006, 2009-2020 Free Software Foundation,
+    Inc.
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+#ifndef _BASENAME_LGPL_H
+#define _BASENAME_LGPL_H
+
+#include <stddef.h>
+
+#ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Return the address of the last file name component of FILENAME.
+   If FILENAME has some trailing slash(es), they are considered to be
+   part of the last component.
+   If FILENAME has no relative file name components because it is a file
+   system root, return the empty string.
+   Examples:
+              FILENAME      RESULT
+              "foo.c"       "foo.c"
+              "foo/bar.c"   "bar.c"
+              "/foo/bar.c"  "bar.c"
+              "foo/bar/"    "bar/"
+              "foo/bar//"   "bar//"
+              "/"           ""
+              "//"          ""
+	      ""            ""
+   The return value is a tail of the given FILENAME; do NOT free() it!  */
+
+/* This function was traditionally called 'basename', but we avoid this
+   function name because
+     * Various platforms have different functions in their libc.
+       In particular, the glibc basename(), defined in <string.h>, does
+       not consider trailing slashes to be part of the component:
+              FILENAME      RESULT
+              "foo/bar/"    ""
+              "foo/bar//"   ""
+     * The 'basename' command eliminates trailing slashes and for a root
+       produces a non-empty result:
+              FILENAME      RESULT
+              "foo/bar/"    "bar"
+              "foo/bar//"   "bar"
+              "/"           "/"
+              "//"          "/"
+ */
+extern char *last_component (char const *filename) _GL_ATTRIBUTE_PURE;
+
+/* Return the length of the basename FILENAME.
+   Typically FILENAME is the value returned by base_name or last_component.
+   Act like strlen (FILENAME), except omit all trailing slashes.  */
+extern size_t base_len (char const *filename) _GL_ATTRIBUTE_PURE;
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* _BASENAME_LGPL_H */
diff --git a/lib/dirname.h b/lib/dirname.h
index 5379e8e..b2a91fd 100644
--- a/lib/dirname.h
+++ b/lib/dirname.h
@@ -22,15 +22,12 @@
 # include <stdbool.h>
 # include <stddef.h>
 # include "filename.h"
+# include "basename-lgpl.h"
 
 # ifndef DIRECTORY_SEPARATOR
 #  define DIRECTORY_SEPARATOR '/'
 # endif
 
-# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
-#  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
-# endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -41,9 +38,7 @@ char *dir_name (char const *file);
 # endif
 
 char *mdir_name (char const *file);
-size_t base_len (char const *file) _GL_ATTRIBUTE_PURE;
 size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE;
-char *last_component (char const *file) _GL_ATTRIBUTE_PURE;
 
 bool strip_trailing_slashes (char *file);
 
diff --git a/modules/basename-lgpl b/modules/basename-lgpl
new file mode 100644
index 0000000..f81898d
--- /dev/null
+++ b/modules/basename-lgpl
@@ -0,0 +1,25 @@
+Description:
+Extract the last component (base name) of a file name.
+
+Files:
+lib/basename-lgpl.h
+lib/basename-lgpl.c
+
+Depends-on:
+double-slash-root
+filename
+stdbool
+
+configure.ac:
+
+Makefile.am:
+lib_SOURCES += basename-lgpl.c
+
+Include:
+"basename-lgpl.h"
+
+License:
+LGPLv2+
+
+Maintainer:
+all
diff --git a/modules/dirname-lgpl b/modules/dirname-lgpl
index b919102..b758535 100644
--- a/modules/dirname-lgpl
+++ b/modules/dirname-lgpl
@@ -4,11 +4,10 @@ Extract specific portions of filenames.
 Files:
 lib/dirname.h
 lib/dirname-lgpl.c
-lib/basename-lgpl.c
 lib/stripslash.c
 
 Depends-on:
-double-slash-root
+basename-lgpl
 filename
 malloc-posix
 stdbool
@@ -16,7 +15,7 @@ stdbool
 configure.ac:
 
 Makefile.am:
-lib_SOURCES += dirname-lgpl.c basename-lgpl.c stripslash.c
+lib_SOURCES += dirname-lgpl.c stripslash.c
 
 Include:
 "dirname.h"
-- 
2.7.4


[-- Attachment #4: 0003-argp-Trim-module-dependencies.patch --]
[-- Type: text/x-patch, Size: 1580 bytes --]

From aa8369e4a2f1c27a68ff887160e75a23124096a8 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 21:05:21 +0200
Subject: [PATCH 3/7] argp: Trim module dependencies.

* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
---
 ChangeLog           | 6 ++++++
 lib/argp-namefrob.h | 2 +-
 modules/argp        | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 1396c94..5b31707 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	argp: Trim module dependencies.
+	* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
+	* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	basename-lgpl: New module.
 	* lib/basename-lgpl.h: New file, based on lib/dirname.h and
 	lib/basename-lgpl.c.
diff --git a/lib/argp-namefrob.h b/lib/argp-namefrob.h
index 022b880..50c62e9 100644
--- a/lib/argp-namefrob.h
+++ b/lib/argp-namefrob.h
@@ -146,7 +146,7 @@
 #elif defined GNULIB_ARGP_EXTERN_BASENAME
 extern char *__argp_base_name (const char *arg);
 #else
-# include "dirname.h"
+# include "basename-lgpl.h"
 # define __argp_base_name last_component
 #endif
 
diff --git a/modules/argp b/modules/argp
index 125046a..50fde11 100644
--- a/modules/argp
+++ b/modules/argp
@@ -24,7 +24,7 @@ m4/argp.m4
 
 Depends-on:
 alloca
-dirname-lgpl
+basename-lgpl
 extern-inline
 getopt-gnu
 strchrnul
-- 
2.7.4


[-- Attachment #5: 0004-backupfile-backup-rename-Trim-module-dependencies.patch --]
[-- Type: text/x-patch, Size: 2160 bytes --]

From 6d25d781953cdea433f88087d5b204a652ddbcc6 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 21:07:46 +0200
Subject: [PATCH 4/7] backupfile, backup-rename: Trim module dependencies.

* lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
* modules/backupfile (Depends-on): Remove dirname-lgpl. Add
basename-lgpl.
* modules/backup-rename (Depends-on): Likewise.
---
 ChangeLog             | 8 ++++++++
 lib/backupfile.c      | 2 +-
 modules/backup-rename | 2 +-
 modules/backupfile    | 2 +-
 4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5b31707..8e26586 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	backupfile, backup-rename: Trim module dependencies.
+	* lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
+	* modules/backupfile (Depends-on): Remove dirname-lgpl. Add
+	basename-lgpl.
+	* modules/backup-rename (Depends-on): Likewise.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	argp: Trim module dependencies.
 	* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
 	* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
diff --git a/lib/backupfile.c b/lib/backupfile.c
index 7edd9c3..2a88248 100644
--- a/lib/backupfile.c
+++ b/lib/backupfile.c
@@ -23,7 +23,7 @@
 #include "backup-internal.h"
 
 #include "attribute.h"
-#include "dirname.h"
+#include "basename-lgpl.h"
 #include "opendirat.h"
 #include "renameatu.h"
 #include "xalloc-oversized.h"
diff --git a/modules/backup-rename b/modules/backup-rename
index 1e29b73..be12c90 100644
--- a/modules/backup-rename
+++ b/modules/backup-rename
@@ -11,10 +11,10 @@ m4/backupfile.m4
 Depends-on:
 argmatch
 attribute
+basename-lgpl
 closedir
 d-ino
 dirent-safer
-dirname-lgpl
 fcntl
 memcmp
 opendirat
diff --git a/modules/backupfile b/modules/backupfile
index dc46d76..76f223a 100644
--- a/modules/backupfile
+++ b/modules/backupfile
@@ -11,10 +11,10 @@ m4/backupfile.m4
 Depends-on:
 argmatch
 attribute
+basename-lgpl
 closedir
 d-ino
 dirent-safer
-dirname-lgpl
 fcntl
 memcmp
 opendirat
-- 
2.7.4


[-- Attachment #6: 0005-filenamecat-lgpl-Trim-module-dependencies.patch --]
[-- Type: text/x-patch, Size: 1864 bytes --]

From a58748b06ad1e46363a9f797310f58feb0b9c646 Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 21:10:11 +0200
Subject: [PATCH 5/7] filenamecat-lgpl: Trim module dependencies.

* lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
dirname.h.
* modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
basename-lgpl, filename.
---
 ChangeLog                | 8 ++++++++
 lib/filenamecat-lgpl.c   | 3 ++-
 modules/filenamecat-lgpl | 3 ++-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8e26586..3dd7a0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	filenamecat-lgpl: Trim module dependencies.
+	* lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
+	dirname.h.
+	* modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
+	basename-lgpl, filename.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	backupfile, backup-rename: Trim module dependencies.
 	* lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
 	* modules/backupfile (Depends-on): Remove dirname-lgpl. Add
diff --git a/lib/filenamecat-lgpl.c b/lib/filenamecat-lgpl.c
index d97abfa..7e77d35 100644
--- a/lib/filenamecat-lgpl.c
+++ b/lib/filenamecat-lgpl.c
@@ -25,7 +25,8 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "dirname.h"
+#include "basename-lgpl.h"
+#include "filename.h"
 
 #if ! HAVE_MEMPCPY && ! defined mempcpy
 # define mempcpy(D, S, N) ((void *) ((char *) memcpy (D, S, N) + (N)))
diff --git a/modules/filenamecat-lgpl b/modules/filenamecat-lgpl
index a6bf60b..ffb94ab 100644
--- a/modules/filenamecat-lgpl
+++ b/modules/filenamecat-lgpl
@@ -8,7 +8,8 @@ m4/filenamecat.m4
 
 Depends-on:
 c99
-dirname-lgpl
+basename-lgpl
+filename
 malloc-posix
 
 configure.ac:
-- 
2.7.4


[-- Attachment #7: 0006-getprogname-Trim-module-dependencies.patch --]
[-- Type: text/x-patch, Size: 1639 bytes --]

From 75c37970d9f093ac97c8abd3e0f2e53178c0d08b Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 21:12:33 +0200
Subject: [PATCH 6/7] getprogname: Trim module dependencies.

* lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
* modules/getprogname (Depends-on): Remove dirname-lgpl. Add
basename-lgpl.
---
 ChangeLog           | 7 +++++++
 lib/getprogname.c   | 2 +-
 modules/getprogname | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3dd7a0b..d263215 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	getprogname: Trim module dependencies.
+	* lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
+	* modules/getprogname (Depends-on): Remove dirname-lgpl. Add
+	basename-lgpl.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	filenamecat-lgpl: Trim module dependencies.
 	* lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
 	dirname.h.
diff --git a/lib/getprogname.c b/lib/getprogname.c
index 377e216..744466e 100644
--- a/lib/getprogname.c
+++ b/lib/getprogname.c
@@ -51,7 +51,7 @@
 # include <sys/procfs.h>
 #endif
 
-#include "dirname.h"
+#include "basename-lgpl.h"
 
 #ifndef HAVE_GETPROGNAME             /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */
 char const *
diff --git a/modules/getprogname b/modules/getprogname
index e8038d8..7cbad31 100644
--- a/modules/getprogname
+++ b/modules/getprogname
@@ -7,7 +7,7 @@ lib/getprogname.c
 m4/getprogname.m4
 
 Depends-on:
-dirname-lgpl
+basename-lgpl
 extensions
 open
 
-- 
2.7.4


[-- Attachment #8: 0007-mkancesdirs-Trim-module-dependencies.patch --]
[-- Type: text/x-patch, Size: 1646 bytes --]

From f7e0abdb75eb57bb21d4b1ca5bb775666e6361ad Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 5 Jul 2020 21:14:05 +0200
Subject: [PATCH 7/7] mkancesdirs: Trim module dependencies.

* lib/mkancesdirs.c: Include filename.h instead of dirname.h.
* modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
---
 ChangeLog           | 6 ++++++
 lib/mkancesdirs.c   | 2 +-
 modules/mkancesdirs | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d263215..4f2cab2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2020-07-05  Bruno Haible  <bruno@clisp.org>
 
+	mkancesdirs: Trim module dependencies.
+	* lib/mkancesdirs.c: Include filename.h instead of dirname.h.
+	* modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
+
+2020-07-05  Bruno Haible  <bruno@clisp.org>
+
 	getprogname: Trim module dependencies.
 	* lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
 	* modules/getprogname (Depends-on): Remove dirname-lgpl. Add
diff --git a/lib/mkancesdirs.c b/lib/mkancesdirs.c
index 14646f4..f638a6c 100644
--- a/lib/mkancesdirs.c
+++ b/lib/mkancesdirs.c
@@ -28,7 +28,7 @@
 #include <errno.h>
 #include <unistd.h>
 
-#include "dirname.h"
+#include "filename.h"
 #include "savewd.h"
 
 /* Ensure that the ancestor directories of FILE exist, using an
diff --git a/modules/mkancesdirs b/modules/mkancesdirs
index 7ae1a48..c4cb3db 100644
--- a/modules/mkancesdirs
+++ b/modules/mkancesdirs
@@ -7,8 +7,8 @@ lib/mkancesdirs.h
 m4/mkancesdirs.m4
 
 Depends-on:
-dirname-lgpl
 fcntl-h
+filename
 savewd
 stat-macros
 sys_stat
-- 
2.7.4


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-07-05 19:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-05 19:20 new module 'basename-lgpl' Bruno Haible

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).