From 78b8a13965e94dac60e4872f6fd6d10093322a2c Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Thu, 3 Jul 2003 07:50:53 +0000 Subject: [PATCH] * include/search.h: New file. * include/stdlib.h: Add comment about qsort, bsearch in search.h. * test_headers.c: Include search.h. * moldname.def.in (lfind, lsearch): Add. --- winsup/mingw/ChangeLog | 8 +++++ winsup/mingw/include/search.h | 66 +++++++++++++++++++++++++++++++++++ winsup/mingw/include/stdlib.h | 3 +- winsup/mingw/moldname.def.in | 2 ++ winsup/mingw/test_headers.c | 1 + 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 winsup/mingw/include/search.h diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 1fc90c13c..77d86bfe2 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,11 @@ +2003-07-03 Danny Smith + + * include/search.h: New file. + * include/stdlib.h: Add comment about qsort, bsearch in + search.h. + * test_headers.c: Include search.h. + * moldname.def.in (lfind, lsearch): Add. + 2003-07-03 Danny Smith * include/process.h (_execv, _execvp, _spawnv, _spawnvp, _execve, diff --git a/winsup/mingw/include/search.h b/winsup/mingw/include/search.h new file mode 100644 index 000000000..b42b05a71 --- /dev/null +++ b/winsup/mingw/include/search.h @@ -0,0 +1,66 @@ +/* + * search.h + * + * Functions for searching and sorting. + * + * This file is part of the Mingw32 package. + * + * Contributors: + * Created by Danny Smith + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _SEARCH_H_ +#define _SEARCH_H_ + +/* All the headers include this file. */ +#include <_mingw.h> + +#ifndef RC_INVOKED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _SIZE_T_DEFINED +typedef unsigned int size_t; +#define _SIZE_T_DEFINED +#endif + +/* bsearch and qsort are also declared in stdlib.h */ +_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, + int (*)(const void*, const void*)); +_CRTIMP void __cdecl qsort (void*, size_t, size_t, + int (*)(const void*, const void*)); + +#ifndef __STRICT_ANSI__ +_CRTIMP void* __cdecl _lfind (const void*, const void*, unsigned int*, + unsigned int, int (*)(const void*, const void*)); +_CRTIMP void* __cdecl _lsearch (const void*, void*, unsigned int*, unsigned int, + int (*)(const void*, const void*)); + +#ifndef _NO_OLDNAMES +_CRTIMP void* __cdecl lfind (const void*, const void*, unsigned int*, + unsigned int, int (*)(const void*, const void*)); +_CRTIMP void* __cdecl lsearch (const void*, void*, unsigned int*, unsigned int, + int (*)(const void*, const void*)); +#endif +#endif /* __STRICT_ANSI__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* RC_INVOKED */ + +#endif /* _SEARCH_H_ */ diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h index 76ce7e2f9..b606c6036 100644 --- a/winsup/mingw/include/stdlib.h +++ b/winsup/mingw/include/stdlib.h @@ -369,12 +369,13 @@ _CRTIMP void __cdecl free (void*); _CRTIMP void __cdecl abort (void) _ATTRIB_NORETURN; _CRTIMP void __cdecl exit (int) _ATTRIB_NORETURN; -/* Note: This in startup code, not imported directly from dll */ +/* Note: This is in startup code, not imported directly from dll */ int __cdecl atexit (void (*)(void)); _CRTIMP int __cdecl system (const char*); _CRTIMP char* __cdecl getenv (const char*); +/* bsearch and qsort are also in non-ANSI header search.h */ _CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, int (*)(const void*, const void*)); _CRTIMP void __cdecl qsort (void*, size_t, size_t, diff --git a/winsup/mingw/moldname.def.in b/winsup/mingw/moldname.def.in index c3659b73b..9e68ac517 100644 --- a/winsup/mingw/moldname.def.in +++ b/winsup/mingw/moldname.def.in @@ -69,6 +69,8 @@ heapwalk isatty itoa kbhit +lfind +lsearch lseek ltoa memccpy diff --git a/winsup/mingw/test_headers.c b/winsup/mingw/test_headers.c index e34b152d6..62402a6f0 100644 --- a/winsup/mingw/test_headers.c +++ b/winsup/mingw/test_headers.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include