Mercurial > hg > octave-nkf > gnulib-hg
changeset 9258:bee5960c276a
Rename search_.h to search.in.h.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 02 Oct 2007 00:24:48 +0200 |
parents | bba0d44b7c23 |
children | cda94d6d670f |
files | ChangeLog lib/search.in.h lib/search_.h modules/search |
diffstat | 4 files changed, 121 insertions(+), 118 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -41,6 +41,9 @@ of netinet_in_.h. Add dependency. * lib/poll.in.h: Renamed from lib/poll_.h. * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h. + * lib/search.in.h: Renamed from lib/search_.h. + * modules/search (Files, Makefile.am): Use search.in.h instead of + search_.h. 2007-09-30 Bruno Haible <bruno@clisp.org>
new file mode 100644 --- /dev/null +++ b/lib/search.in.h @@ -0,0 +1,115 @@ +/* A GNU-like <search.h>. + + Copyright (C) 2007 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 2, 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, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + +#ifndef _GL_SEARCH_H + +/* The include_next requires a split double-inclusion guard. */ +#if @HAVE_SEARCH_H@ +# @INCLUDE_NEXT@ @NEXT_SEARCH_H@ +#endif + +#ifndef _GL_SEARCH_H +#define _GL_SEARCH_H + + +/* The definition of GL_LINK_WARNING is copied here. */ + + +#ifdef __cplusplus +extern "C" { +#endif + + +#if @GNULIB_TSEARCH@ +# if !@HAVE_TSEARCH@ + +/* See <http://www.opengroup.org/susv3xbd/search.h.html>, + <http://www.opengroup.org/susv3xsh/tsearch.html> + for details. */ + +typedef enum +{ + preorder, + postorder, + endorder, + leaf +} +VISIT; + +/* Searches an element in the tree *VROOTP that compares equal to KEY. + If one is found, it is returned. Otherwise, a new element equal to KEY + is inserted in the tree and is returned. */ +extern void * tsearch (const void *key, void **vrootp, + int (*compar) (const void *, const void *)); + +/* Searches an element in the tree *VROOTP that compares equal to KEY. + If one is found, it is returned. Otherwise, NULL is returned. */ +extern void * tfind (const void *key, void *const *vrootp, + int (*compar) (const void *, const void *)); + +/* Searches an element in the tree *VROOTP that compares equal to KEY. + If one is found, it is removed from the tree, and its parent node is + returned. Otherwise, NULL is returned. */ +extern void * tdelete (const void *key, void **vrootp, + int (*compar) (const void *, const void *)); + +/* Perform a depth-first, left-to-right traversal of the tree VROOT. + The ACTION function is called: + - for non-leaf nodes: 3 times, before the left subtree traversal, + after the left subtree traversal but before the right subtree traversal, + and after the right subtree traversal, + - for leaf nodes: once. + The arguments passed to ACTION are: + 1. the node; it can be casted to a 'const void * const *', i.e. into a + pointer to the key, + 2. an indicator which visit of the node this is, + 3. the level of the node in the tree (0 for the root). */ +extern void twalk (const void *vroot, + void (*action) (const void *, VISIT, int)); + +# endif +#elif defined GNULIB_POSIXCHECK +# undef tsearch +# define tsearch(k,v,c) \ + (GL_LINK_WARNING ("tsearch is unportable - " \ + "use gnulib module tsearch for portability"), \ + tsearch (k, v, c)) +# undef tfind +# define tfind(k,v,c) \ + (GL_LINK_WARNING ("tfind is unportable - " \ + "use gnulib module tsearch for portability"), \ + tfind (k, v, c)) +# undef tdelete +# define tdelete(k,v,c) \ + (GL_LINK_WARNING ("tdelete is unportable - " \ + "use gnulib module tsearch for portability"), \ + tdelete (k, v, c)) +# undef twalk +# define twalk(v,a) \ + (GL_LINK_WARNING ("twalk is unportable - " \ + "use gnulib module tsearch for portability"), \ + twalk (v, a)) +#endif + + +#ifdef __cplusplus +} +#endif + +#endif /* _GL_SEARCH_H */ +#endif /* _GL_SEARCH_H */
deleted file mode 100644 --- a/lib/search_.h +++ /dev/null @@ -1,115 +0,0 @@ -/* A GNU-like <search.h>. - - Copyright (C) 2007 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 2, 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, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GL_SEARCH_H - -/* The include_next requires a split double-inclusion guard. */ -#if @HAVE_SEARCH_H@ -# @INCLUDE_NEXT@ @NEXT_SEARCH_H@ -#endif - -#ifndef _GL_SEARCH_H -#define _GL_SEARCH_H - - -/* The definition of GL_LINK_WARNING is copied here. */ - - -#ifdef __cplusplus -extern "C" { -#endif - - -#if @GNULIB_TSEARCH@ -# if !@HAVE_TSEARCH@ - -/* See <http://www.opengroup.org/susv3xbd/search.h.html>, - <http://www.opengroup.org/susv3xsh/tsearch.html> - for details. */ - -typedef enum -{ - preorder, - postorder, - endorder, - leaf -} -VISIT; - -/* Searches an element in the tree *VROOTP that compares equal to KEY. - If one is found, it is returned. Otherwise, a new element equal to KEY - is inserted in the tree and is returned. */ -extern void * tsearch (const void *key, void **vrootp, - int (*compar) (const void *, const void *)); - -/* Searches an element in the tree *VROOTP that compares equal to KEY. - If one is found, it is returned. Otherwise, NULL is returned. */ -extern void * tfind (const void *key, void *const *vrootp, - int (*compar) (const void *, const void *)); - -/* Searches an element in the tree *VROOTP that compares equal to KEY. - If one is found, it is removed from the tree, and its parent node is - returned. Otherwise, NULL is returned. */ -extern void * tdelete (const void *key, void **vrootp, - int (*compar) (const void *, const void *)); - -/* Perform a depth-first, left-to-right traversal of the tree VROOT. - The ACTION function is called: - - for non-leaf nodes: 3 times, before the left subtree traversal, - after the left subtree traversal but before the right subtree traversal, - and after the right subtree traversal, - - for leaf nodes: once. - The arguments passed to ACTION are: - 1. the node; it can be casted to a 'const void * const *', i.e. into a - pointer to the key, - 2. an indicator which visit of the node this is, - 3. the level of the node in the tree (0 for the root). */ -extern void twalk (const void *vroot, - void (*action) (const void *, VISIT, int)); - -# endif -#elif defined GNULIB_POSIXCHECK -# undef tsearch -# define tsearch(k,v,c) \ - (GL_LINK_WARNING ("tsearch is unportable - " \ - "use gnulib module tsearch for portability"), \ - tsearch (k, v, c)) -# undef tfind -# define tfind(k,v,c) \ - (GL_LINK_WARNING ("tfind is unportable - " \ - "use gnulib module tsearch for portability"), \ - tfind (k, v, c)) -# undef tdelete -# define tdelete(k,v,c) \ - (GL_LINK_WARNING ("tdelete is unportable - " \ - "use gnulib module tsearch for portability"), \ - tdelete (k, v, c)) -# undef twalk -# define twalk(v,a) \ - (GL_LINK_WARNING ("twalk is unportable - " \ - "use gnulib module tsearch for portability"), \ - twalk (v, a)) -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* _GL_SEARCH_H */ -#endif /* _GL_SEARCH_H */
--- a/modules/search +++ b/modules/search @@ -2,7 +2,7 @@ A GNU-like <search.h>. Files: -lib/search_.h +lib/search.in.h m4/search_h.m4 Depends-on: @@ -17,7 +17,7 @@ # We need the following in order to create <search.h> when the system # doesn't have one that works with the given compiler. -search.h: search_.h +search.h: search.in.h rm -f $@-t $@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ sed -e 's|@''HAVE_SEARCH_H''@|$(HAVE_SEARCH_H)|g' \ @@ -26,7 +26,7 @@ -e 's|@''GNULIB_TSEARCH''@|$(GNULIB_TSEARCH)|g' \ -e 's|@''HAVE_TSEARCH''@|$(HAVE_TSEARCH)|g' \ -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \ - < $(srcdir)/search_.h; \ + < $(srcdir)/search.in.h; \ } > $@-t mv $@-t $@ MOSTLYCLEANFILES += search.h search.h-t