bug-gnulib
[Top][All Lists]
Advanced

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

Re: Is / distinct from //?


From: Paul Eggert
Subject: Re: Is / distinct from //?
Date: Mon, 18 Dec 2006 10:07:24 -0800
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

Eric Blake <address@hidden> writes:

> How about this larger patch instead?

Looks good.  Some further changes: Jim and I should be on the maintainers
list, there's some incoherence about whether DOUBLE_SLASH_IS_DISTINCT_ROOT
is #defined to 0 or is left undefined by config.h.  Here's what I installed:

2006-12-18  Paul Eggert  <address@hidden>
        and Eric Blake  <address@hidden>

        * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
        This is more consistent with the other defines here.
        * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
        Port to z/OS.  Problem reported by Paul Gilmartin.
        Change local vars to use gl_ prefix rather than ac_.
        Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
        with other defines.
        * modules/double-slash-root: New module.
        * modules/dirname (Files): Remove m4/double-slash-root.m4.
        (Depends-on): Add double-slash-root.
        * MODULES.html.sh (File system functions): Mention new module.

Index: lib/dirname.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/dirname.h,v
retrieving revision 1.12
diff -u -r1.12 dirname.h
--- lib/dirname.h       3 Jul 2006 08:32:46 -0000       1.12
+++ lib/dirname.h       18 Dec 2006 18:04:17 -0000
@@ -48,7 +48,7 @@
 # endif

 # ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
-#  define DOUBLE_SLASH_IS_DISTINCT_ROOT 1
+#  define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
 # endif

 # if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
Index: m4/double-slash-root.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/double-slash-root.m4,v
retrieving revision 1.1
diff -u -r1.1 double-slash-root.m4
--- m4/double-slash-root.m4     3 Jul 2006 08:32:46 -0000       1.1
+++ m4/double-slash-root.m4     18 Dec 2006 18:04:17 -0000
@@ -1,4 +1,4 @@
-#serial 1   -*- autoconf -*-
+# double-slash-root.m4 serial 2   -*- Autoconf -*-
 dnl Copyright (C) 2006 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -7,37 +7,32 @@
 AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
 [
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_CACHE_CHECK([whether // is distinct from /], [ac_cv_double_slash_root],
+  AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root],
     [ if test x"$cross_compiling" = xyes ; then
        # When cross-compiling, there is no way to tell whether // is special
        # short of a list of hosts.  However, the only known hosts to date
-       # that have a distinct // are Apollo DomainOS (too old to port to)
-       # and Cygwin.  If anyone knows of another system for which // has
+       # that have a distinct // are Apollo DomainOS (too old to port to),
+       # Cygwin, and z/OS.  If anyone knows of another system for which // has
        # special semantics and is distinct from /, please report it to
-       # <address@hidden>.
+       # <address@hidden>.
        case $host in
-         *-cygwin)
-           ac_cv_double_slash_root=yes ;;
+         *-cygwin | i370-ibm-openedition)
+           gl_cv_double_slash_root=yes ;;
          *)
            # Be optimistic and assume that / and // are the same when we
            # don't know.
-           ac_cv_double_slash_root='unknown, assuming no' ;;
+           gl_cv_double_slash_root='unknown, assuming no' ;;
        esac
       else
        set x `ls -di / //`
-       if test $[2] = $[4]; then
-         ac_cv_double_slash_root=no
+       if test $[2] = $[4] && wc //dev/null >/dev/null 2>&1; then
+         gl_cv_double_slash_root=no
        else
-         ac_cv_double_slash_root=yes
+         gl_cv_double_slash_root=yes
        fi
       fi])
-  if test x"$ac_cv_double_slash_root" = xyes; then
-    ac_double_slash_root=1
-  else
-    ac_double_slash_root=0
+  if test "$gl_cv_double_slash_root" = yes; then
+    AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], 1,
+      [Define to 1 if // is a file system root distinct from /.])
   fi
-
-  AC_DEFINE_UNQUOTED([DOUBLE_SLASH_IS_DISTINCT_ROOT],
-   $ac_double_slash_root,
-   [Define to 1 if // is a file system root distinct from /.])
 ])
Index: modules/double-slash-root
===================================================================
RCS file: modules/double-slash-root
diff -N modules/double-slash-root
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ modules/double-slash-root   18 Dec 2006 18:04:17 -0000
@@ -0,0 +1,20 @@
+Description:
+Check whether // is distinct from /.
+
+Files:
+m4/double-slash-root.m4
+
+Depends-on:
+
+configure.ac:
+gl_DOUBLE_SLASH_ROOT
+
+Makefile.am:
+
+Include:
+
+License:
+LGPL
+
+Maintainer:
+Eric Blake, Paul Eggert, Jim Meyering
Index: modules/dirname
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/dirname,v
retrieving revision 1.11
diff -u -r1.11 dirname
--- modules/dirname     13 Oct 2006 12:40:23 -0000      1.11
+++ modules/dirname     18 Dec 2006 18:04:17 -0000
@@ -6,11 +6,11 @@
 lib/dirname.c
 lib/basename.c
 lib/stripslash.c
-m4/dos.m4
 m4/dirname.m4
-m4/double-slash-root.m4
+m4/dos.m4

 Depends-on:
+double-slash-root
 stdbool
 xalloc
 xstrndup
Index: MODULES.html.sh
===================================================================
RCS file: /cvsroot/gnulib/gnulib/MODULES.html.sh,v
retrieving revision 1.161
diff -u -r1.161 MODULES.html.sh
--- MODULES.html.sh     20 Nov 2006 22:07:27 -0000      1.161
+++ MODULES.html.sh     18 Dec 2006 18:04:17 -0000
@@ -1978,6 +1978,7 @@
   func_module cycle-check
   func_module fsusage
   func_module dirfd
+  func_module double-slash-root
   func_module euidaccess
   func_module file-type
   func_module fileblocks




reply via email to

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