diff options
Diffstat (limited to 'fltk/fltk/string.h.in')
-rw-r--r-- | fltk/fltk/string.h.in | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/fltk/fltk/string.h.in b/fltk/fltk/string.h.in new file mode 100644 index 0000000..d5bda20 --- /dev/null +++ b/fltk/fltk/string.h.in @@ -0,0 +1,130 @@ +/* "$Id: string.h.in 4115 2005-03-14 04:48:51Z spitzak $" + * + * Copyright 1998-2005 by Bill Spitzak and others. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Please report all bugs and problems to "fltk-bugs@fltk.org". + */ + +/* This file was produced by the fltk configure script, and is thus + platform-specific. You may be able to use the unmodified string.h + included in the fltk source instead, it has different #if statements + to make it portable to the most popular platforms. +*/ + +#ifndef fltk_string_h +#define fltk_string_h + +#undef HAVE_STRING_H +#undef HAVE_STRINGS_H + +#undef HAVE_VSNPRINTF +#undef HAVE_SNPRINTF +#undef HAVE_STRCASECMP +#undef HAVE_STRLCAT +#undef HAVE_STRLCPY +#undef HAVE_STRNCASECMP + +#include "FL_API.h" + +#ifdef HAVE_STRING_H +# include <string.h> +#elif defined(HAVE_STRINGS_H) +# include <strings.h> +#endif + +#if 1 /* for va_list */ +# include <stdarg.h> +#endif + +#if 1 /* for sprintf, vsprintf, snprintf and vsnprintf */ +# include <stdio.h> +#endif + +#if 0 +# include <stdlib.h> +#endif + +#if 0 +# include <ctype.h> +/* Unixware defines these macros in above header for the obsolete BSD + functions, get rid of them as it prevents you making a variable + named "index"! */ +# ifdef index +# undef index +# endif +# ifdef rindex +# undef rindex +# endif +#endif + +#if 0 /*defined(__MWERKS__)*/ +/* MetroWerks' CodeWarrior put some functions in <extras.h> but that + file does not play well with others, so we don't include it. */ +# include <extras.h> +#endif + +/* Windows has equivalent functions, but being Microsoft they added + gratuitoius changes to the names to stop code from being portable: */ +#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(__EMX__) +# define strcasecmp(s,t) stricmp(s, t) +# define strncasecmp(s,t,n) strnicmp(s, t, n) +# define vsnprintf _vsnprintf +# define snprintf _snprintf +#endif + +/*! \addtogroup utilities + \{ */ + +#ifdef __cplusplus +extern "C" { +#endif + +FL_API extern const char* newstring(const char *); + +#if defined(DOXYGEN) || !defined(HAVE_STRCASECMP) +FL_API extern int strcasecmp(const char *, const char *); +#endif + +#if defined(DOXYGEN) || !defined(HAVE_STRNCASECMP) +FL_API extern int strncasecmp(const char *, const char *, size_t); +#endif + +#if defined(DOXYGEN) || !defined(HAVE_SNPRINTF) +FL_API extern int snprintf(char *, size_t, const char *, ...); +#endif + +#if defined(DOXYGEN) || !defined(HAVE_VSNPRINTF) +FL_API extern int vsnprintf(char *, size_t, const char *, va_list ap); +#endif + +#if defined(DOXYGEN) || !defined(HAVE_STRLCAT) +FL_API extern size_t strlcat(char *, const char *, size_t); +#endif + +#if defined(DOXYGEN) || !defined(HAVE_STRLCPY) +FL_API extern size_t strlcpy(char *, const char *, size_t); +#endif + +#ifdef __cplusplus +} +#endif + +/*! \} */ + +#endif + +/* + * End of "$Id: string.h.in 4115 2005-03-14 04:48:51Z spitzak $". + */ |