Mercurial > hg > octave-shane > gnulib-hg
annotate modules/rawmemchr @ 17074:d4ccb0388f18
fts: reduce two or more trailing slashes to just one, usually
* lib/fts.c (fts_open): Upon initialization, if a name ends in two
or more slashes, trim all but the final one. But if a name consists
solely of two slashes, don't modify it. If it consists solely of
three or more slashes, strip all but one.
This is part of the solution to a minor problem with rm:
it would print a bogus ELOOP diagnostic when failing to remove
the slash-decorated name of a symlink-to-directory:
$ mkdir d && ln -s d s && env rm -r s/
rm: cannot remove 's': Too many levels of symbolic links
With the change below and a trivial don't-trim-trailing-slashes
adjustment to remove.c, it does this:
$ env rm -r s/
rm: cannot remove 's/': Not a directory
Improved by: Eric Blake
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Tue, 04 Sep 2012 11:36:38 +0200 |
parents | 98ec1e084801 |
children |
rev | line source |
---|---|
9999
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
1 Description: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
2 rawmemchr() function: Find the first occurrence of C in S. |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
3 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
4 Files: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
5 lib/rawmemchr.c |
10011
d266f32e62b2
Silence valgrind on safe reads beyond potential array bounds.
Eric Blake <ebb9@byu.net>
parents:
10008
diff
changeset
|
6 lib/rawmemchr.valgrind |
9999
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
7 m4/rawmemchr.m4 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
8 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
9 Depends-on: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
10 extensions |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
11 string |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
12 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
13 configure.ac: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
14 gl_FUNC_RAWMEMCHR |
15071
98ec1e084801
rawmemchr: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents:
11976
diff
changeset
|
15 if test $HAVE_RAWMEMCHR = 0; then |
98ec1e084801
rawmemchr: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents:
11976
diff
changeset
|
16 AC_LIBOBJ([rawmemchr]) |
98ec1e084801
rawmemchr: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents:
11976
diff
changeset
|
17 gl_PREREQ_RAWMEMCHR |
98ec1e084801
rawmemchr: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents:
11976
diff
changeset
|
18 fi |
9999
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
19 gl_STRING_MODULE_INDICATOR([rawmemchr]) |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
20 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
21 Makefile.am: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
22 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
23 Include: |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
24 <string.h> |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
25 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
26 License: |
11976 | 27 LGPLv2+ |
9999
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
28 |
5f559abfabef
Add rawmemchr module, matching glibc.
Eric Blake <ebb9@byu.net>
parents:
diff
changeset
|
29 Maintainer: |
10008 | 30 Eric Blake, glibc |