Jim Meyering [Mon, 3 Jan 2011 18:35:19 +0000 (19:35 +0100)]
git-version-gen: handle failed "git rev-list"
* build-aux/git-version-gen: Rather than leaking a "fatal" error
from git and proceeding as if it had succeeded but printed no SHA1
checksums, suppress the diagnostic and handle the failure.
Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
Jim Meyering [Mon, 3 Jan 2011 10:50:43 +0000 (11:50 +0100)]
git-version-gen: include command name in one more diagnostic
* build-aux/git-version-gen: When the required .tarball-version file
was missing or unreadable, you might see the diagnostic from "cat",
but no trace of the name of the invoking script. Now, you still see
the diagnostic from cat, but also get one from "git-version-gen: ".
Inspired by a patch from Bruce Korb.
Bruno Haible [Mon, 3 Jan 2011 01:51:03 +0000 (02:51 +0100)]
getlogin_r: Avoid test failure on HP-UX 11.
* tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
ERANGE when the second argument is zero.
* doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
portability problem.
Bruno Haible [Sun, 2 Jan 2011 17:40:29 +0000 (18:40 +0100)]
pwrite: Fix test whether it works and make it work on HP-UX 11.11.
* m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
bug.
* lib/pwrite.c: Undo 2010-12-31 patch.
* doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
Bruno Haible [Sun, 2 Jan 2011 13:36:30 +0000 (14:36 +0100)]
Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
* m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
ends in "6". Don't require a specific month name. Try also the locale
names found on HP-UX 11 and Solaris 7.
Jim Meyering [Sat, 1 Jan 2011 19:13:03 +0000 (20:13 +0100)]
maint: refine the update-copyright rule
* Makefile (update-copyright): Also exclude any file that includes
the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
code that merely generates the comment.
Ben Pfaff [Sat, 1 Jan 2011 16:47:34 +0000 (08:47 -0800)]
unigbrk: New modules for grapheme clusters.
New module 'u8-grapheme-len'.
* modules/unigbrk/u8-grapheme-len: New file.
* modules/unigbrk/u8-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-len.c: New file.
* tests/unigbrk/test-u8-grapheme-len.c: New file.
New module 'u16-grapheme-len'.
* modules/unigbrk/u16-grapheme-len: New file.
* modules/unigbrk/u16-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-len.c: New file.
* tests/unigbrk/test-u16-grapheme-len.c: New file.
New module 'u32-grapheme-len'.
* modules/unigbrk/u32-grapheme-len: New file.
* modules/unigbrk/u32-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-len.c: New file.
* tests/unigbrk/test-u32-grapheme-len.c: New file.
New module 'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-next: New file.
* modules/unigbrk/u8-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-next.c: New file.
* tests/unigbrk/test-u8-grapheme-next.c: New file.
New module 'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-next: New file.
* modules/unigbrk/u16-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-next.c: New file.
* tests/unigbrk/test-u16-grapheme-next.c: New file.
New module 'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-next: New file.
* modules/unigbrk/u32-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-next.c: New file.
* tests/unigbrk/test-u32-grapheme-next.c: New file.
New module 'u8-grapheme-prev'.
* modules/unigbrk/u8-grapheme-prev: New file.
* modules/unigbrk/u8-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-prev.c: New file.
* tests/unigbrk/test-u8-grapheme-prev.c: New file.
New module 'u16-grapheme-prev'.
* modules/unigbrk/u16-grapheme-prev: New file.
* modules/unigbrk/u16-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-prev.c: New file.
* tests/unigbrk/test-u16-grapheme-prev.c: New file.
New module 'u32-grapheme-prev'.
* modules/unigbrk/u32-grapheme-prev: New file.
* modules/unigbrk/u32-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-prev.c: New file.
* tests/unigbrk/test-u32-grapheme-prev.c: New file.
New module 'u8-grapheme-breaks'.
* modules/unigbrk/u8-grapheme-breaks: New file.
* modules/unigbrk/u8-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-breaks.c: New file.
* tests/unigbrk/test-u8-grapheme-breaks.c: New file.
New module 'u16-grapheme-breaks'.
* modules/unigbrk/u16-grapheme-breaks: New file.
* modules/unigbrk/u16-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-breaks.c: New file.
* tests/unigbrk/test-u16-grapheme-breaks.c: New file.
New module 'u32-grapheme-breaks'.
* modules/unigbrk/u32-grapheme-breaks: New file.
* modules/unigbrk/u32-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-breaks.c: New file.
* tests/unigbrk/test-u32-grapheme-breaks.c: New file.
New module 'ulc-grapheme-breaks'.
* modules/unigbrk/ulc-grapheme-breaks: New file.
* modules/unigbrk/ulc-grapheme-breaks-tests: New file.
* m4/locale-ar.m4: New file.
* lib/unigbrk/ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
* lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had
modified how this file was generated before I initially submitted
the module, but failed to regenerate it. This meant that several
of the level2 entries were wrong.
* lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
Remove the division-by-2 that is folded into the table now that
gbrkprop.h has been regenerated properly. Now -1 entries are
handled correctly.
New module 'unigbrk/uc-gbrk-prop-tests'.
* modules/unigbrk/uc-gbrk-prop-tests: New file.
* lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
* tests/unigbrk/test-uc-gbrk-prop.c: New file.
* tests/unigbrk/test-uc-gbrk-prop.h: New file.
Bruno Haible [Sat, 1 Jan 2011 01:25:00 +0000 (02:25 +0100)]
pwrite: Work around HP-UX 11.11 bug.
* m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
works and set REPLACE_PWRITE if not.
* lib/pwrite.c (pwrite): Add an implementation that uses the system
function.
* doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
Bruno Haible [Sat, 1 Jan 2011 00:50:01 +0000 (01:50 +0100)]
pread: Work around HP-UX 11 bugs.
* m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
and set REPLACE_PREAD if not.
* doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
Eric Blake [Fri, 31 Dec 2010 18:42:21 +0000 (11:42 -0700)]
nl_langinfo: fix YESEXPR on Irix 6.5
* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
* lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
* doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
it.
Bruno Haible [Fri, 31 Dec 2010 14:03:46 +0000 (15:03 +0100)]
isnan: Use GCC built-ins when possible.
* lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
__builtin_isnan.
(gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
(isnan): Define using GCC built-ins for GCC >= 4.0.
Paul Eggert [Wed, 29 Dec 2010 09:25:46 +0000 (01:25 -0800)]
ftoastr, snprintf: ftoastr + snprintf module
* lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
since the snprintf module now should be good enough here.
* modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
and gl_MODULE_INDICATOR([snprintf]), but the former enables
GNULIB_SNPRINTF only for the test directory, and the latter
doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
seems to suffice by itself.
Paul Eggert [Wed, 29 Dec 2010 04:41:30 +0000 (20:41 -0800)]
alloca: one step towards thread-safety
* lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
need for a static variable. All callers changed. This does not
make the alloca replacement thread-safe, but it's one step.
Paul Eggert [Tue, 28 Dec 2010 23:58:31 +0000 (15:58 -0800)]
tests: minor indenting change
* tests/init.sh: Sync from coreutils housekeeping patch
<http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
to keep lines within 80 columns.
Jim Meyering [Tue, 28 Dec 2010 14:12:47 +0000 (15:12 +0100)]
regex: don't infloop on persistent failing calloc
* lib/regexec.c (build_trtable): Return failure indication upon
calloc failure. Otherwise, re_search_internal could infloop on OOM.
In glibc, this was fixed for version 2.13:
http://sourceware.org/bugzilla/show_bug.cgi?id=12348
Bruno Haible [Tue, 28 Dec 2010 11:18:54 +0000 (12:18 +0100)]
linkat: Make implementation robust against system behaviour variations.
* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
way, and to -2 if it needs a generic runtime test.
* lib/linkat.c (solaris_optimized_link_immediate,
solaris_optimized_link_follow): New functions.
* tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
(check_same_link): Use it.
Ben Pfaff [Tue, 28 Dec 2010 05:05:16 +0000 (21:05 -0800)]
New modules for grapheme cluster breaking.
New module 'unigbrk/base'.
* modules/unigbrk/base: New file.
* lib/unigbrk.in.h: New file.
New module 'unigbrk/uc-gbrk-prop'.
* lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
* modules/unigbrk/uc-gbrk-prop: New file.
* lib/unigbrk/gbrkprop.h: New file.
* lib/unigbrk/uc-gbrk-prop.c: New file.
New module 'unigbrk/uc-is-grapheme-break'.
* modules/unigbrk/uc-is-grapheme-break: New file.
* modules/unigbrk/uc-is-grapheme-break-tests: New file.
* lib/unigbrk/uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
* tests/unigbrk/GraphemeBreakTest.txt: New file.
With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
Paul Eggert [Mon, 27 Dec 2010 19:01:57 +0000 (11:01 -0800)]
utimens: work around glibc rounding bug on more platforms
* lib/utimens.c (fdutimens): Work around rounding bug even if
HAVE_WORKING_UTIMES. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
Bruno Haible [Mon, 27 Dec 2010 17:51:03 +0000 (18:51 +0100)]
select tests: Use existing modules.
* modules/select-tests (Depends-on): Add pipe-posix, unistd.
(configure.ac): Don't test for unistd.h.
* tests/test-select.c: Include <unistd.h> always. Use pipe() as
declared in <unistd.h>.
Bruno Haible [Mon, 27 Dec 2010 13:28:11 +0000 (14:28 +0100)]
mbrtowc: Work around a Solaris 7 bug.
* m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
(gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
(gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
MBRTOWC_NULL_ARG1_BUG.
* lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
* tests/test-mbrtowc.c (main): Test support of a NULL first argument.
* doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
Paul Eggert [Mon, 27 Dec 2010 08:21:02 +0000 (00:21 -0800)]
utimens: work around glibc rounding bug on older Linux kernels
* lib/utimens.c (fdutimens): If invoking futimesat or futimes
on Linux with a glibc whose utimes might not work, then work
around a longstanding glibc bug involving rounding rather than
truncated time stamps. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
Bruno Haible [Mon, 27 Dec 2010 00:22:00 +0000 (01:22 +0100)]
inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
* lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
* m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
looking for the declaration.
* m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
* doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
problem.
* doc/posix-functions/inet_pton.texi: Likewise.
Bruno Haible [Sun, 26 Dec 2010 22:56:33 +0000 (23:56 +0100)]
arpa_inet: Use the common idioms with C++ support.
* lib/arpa_inet.in.h: Include c++defs.h.
(inet_ntop, inet_pton): Declare using the macros with C++ namespace
support.
* modules/arpa_inet (Depends-on): Add c++defs.
(Makefile.am): Substitute the contents of c++defs.h.
* modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
* modules/arpa_inet-c++-tests: New file.
* tests/test-arpa_inet-c++.cc: New file.
Paul Eggert [Sat, 25 Dec 2010 21:49:15 +0000 (13:49 -0800)]
utimens: configure better on hosts with NFS clock skew
* m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
uses the clock of the local host. It might use the clock of the
NFS server. Reported for Linux 2.4.21 client by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
Bruno Haible [Sat, 25 Dec 2010 18:18:27 +0000 (19:18 +0100)]
ptsname test: Avoid failure on Solaris.
* tests/test-ptsname.c (main): For Solaris, use the recommended way to
open a pseudo-terminal; don't use BSD-style ptys.
* doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
Bruno Haible [Sat, 25 Dec 2010 11:06:28 +0000 (12:06 +0100)]
truncl-ieee: Make it work on OSF/1 5.1 with cc.
* doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
* m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
test whether truncl works according to ISO C 99 with IEC 60559.
* m4/truncl-ieee.m4: New file.
* modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
Bruno Haible [Sat, 25 Dec 2010 11:03:18 +0000 (12:03 +0100)]
ceill-ieee: Make it work on OSF/1 5.1 with cc.
* doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
* m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
test whether ceill works according to ISO C 99 with IEC 60559.
* m4/ceill-ieee.m4: New file.
* modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
m4/signbit.m4.
(configure.ac): Invoke gl_FUNC_CEILL_IEEE.
Eric Blake [Fri, 24 Dec 2010 20:27:09 +0000 (13:27 -0700)]
pipe: make obsoletion transition easier
* lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
* modules/pipe (Files): Include revived file.
(Include): Drop reference, to mirror getdate's behavior.
Bruno Haible [Fri, 24 Dec 2010 16:16:29 +0000 (17:16 +0100)]
sys_socket: Hide mismatch of declarations on NonStop Kernel.
* lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
_GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 15:27:04 +0000 (16:27 +0100)]
sys_select: Ensure all necessary types on NonStop Kernel.
* lib/sys_select.in.h: If the system does not have <sys/select.h>,
include <sys/time.h>.
* doc/posix-headers/sys_select.texi: Mention that it's missing on
NonStop Kernel.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 12:54:16 +0000 (13:54 +0100)]
gethostname: Provide a fallback for HOST_NAME_MAX.
* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
nor MAXHOSTNAMELEN is found in the usual system headers, use 256
instead.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Fri, 24 Dec 2010 10:03:44 +0000 (11:03 +0100)]
signal: Define NSIG.
* lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
* tests/test-signal.c (nsig): New variable.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Paul Eggert [Fri, 24 Dec 2010 08:06:16 +0000 (00:06 -0800)]
tests: port test-fdutimensat.c to Solaris 8
* tests/test-fdutimensat.c (do_fdutimens): Don't assume
fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
On Solaris 8, it fails with errno == ENOSYS, because there is no
futimens (so it can't use the fd), and there is no lutimens (so it
can't implement AT_SYMLINK_NOFOLLOW on symlinks).
Paul Eggert [Fri, 24 Dec 2010 07:32:55 +0000 (23:32 -0800)]
vsnprintf: make more consistent with snprintf; doc fixes
* doc/posix-functions/snprintf.texi (snprintf): The workaround for
the byte count return problem was promoted from the snprintf-posix
to the snprintf module.
* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
* tests/test-snprintf.c (main): Check the byte count returned.
* tests/test-vsnprintf.c (main): Likewise.
Paul Eggert [Wed, 22 Dec 2010 23:13:59 +0000 (15:13 -0800)]
doc: document Solaris printf bug with large float precisions
* doc/posix-functions/dprintf.texi (dprintf):
* doc/posix-functions/fprintf.texi (fprintf):
* doc/posix-functions/printf.texi (printf):
* doc/posix-functions/snprintf.texi (snprintf):
* doc/posix-functions/sprintf.texi (sprintf):
* doc/posix-functions/vdprintf.texi (vdprintf):
* doc/posix-functions/vfprintf.texi (vfprintf):
* doc/posix-functions/vprintf.texi (vprintf):
* doc/posix-functions/vsnprintf.texi (vsnprintf):
* doc/posix-functions/vsprintf.texi (vsprintf):
Mention that these functions mishandle large floating point
precisions on Solaris 10. The same bug is also present in Solaris
8, and I assume earlier. This causes "cd gnulib-tests; make
check" to fail on Solaris 8 (and I assume, later) when building
the latest coreutils, in test-vasprintf-posix's call to
my_asprintf (&result, "%.4000f %d", 1.0, 99). I have not checked
the wide flavors (e.g., wprintf) so this patch just updates the
documentation for the narrow ones.
Paul Eggert [Wed, 22 Dec 2010 20:27:46 +0000 (12:27 -0800)]
test-posixtm.c: add two tests
* tests/test-posixtm.c: Add two tests, to highlight the
bug in Solaris 10 (and earlier) localtime. Gnulib doesn't work
around this bug; this is merely to document it.
Bruno Haible [Wed, 22 Dec 2010 18:25:34 +0000 (19:25 +0100)]
getlogin_r: Work around portability problem on OSF/1.
* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
* lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
* lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
test for a truncated result.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
* modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
* modules/getlogin_r (Depends-on): Add memchr.
* doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
Bruno Haible [Wed, 22 Dec 2010 16:53:09 +0000 (17:53 +0100)]
ptsname: Avoid test failure on OSF/1 5.1.
* modules/ptsname-tests (Depends-on): Add 'same-inode'.
* tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
(same_slave): New function.
(main): Use it to compare ptsname's result with the expected file name.