diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2011-01-08 16:28:16 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2011-01-08 16:28:16 +0000 |
| commit | 2dc664935d8109767c2d107c6b644082fe06ac05 (patch) | |
| tree | 6e5e622962a1503161b86884cd3423cb2bba1ab1 /branch-3.0-2011/src/flstring.h | |
| parent | f62a6a927a8ce7aa91b023e7aafad9b5ff96f755 (diff) | |
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8217 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'branch-3.0-2011/src/flstring.h')
| -rw-r--r-- | branch-3.0-2011/src/flstring.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/branch-3.0-2011/src/flstring.h b/branch-3.0-2011/src/flstring.h new file mode 100644 index 000000000..9e0f18adb --- /dev/null +++ b/branch-3.0-2011/src/flstring.h @@ -0,0 +1,104 @@ +/* + * "$Id$" + * + * Common string header file for the Fast Light Tool Kit (FLTK). + * + * Copyright 1998-2010 by Bill Spitzak and others. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + * + * Please report all bugs and problems on the following page: + * + * http://www.fltk.org/str.php + */ + +#ifndef flstring_h +# define flstring_h + +# include <FL/Fl_Export.H> +# include <config.h> +# include <stdio.h> +# include <stdarg.h> +# include <string.h> +# ifdef HAVE_STRINGS_H +# include <strings.h> +# endif /* HAVE_STRINGS_H */ +# include <ctype.h> + +/* + * Apparently Unixware defines "index" to strchr (!) rather than + * providing a proper entry point or not providing the (obsolete) + * BSD function. Make sure index is not defined... + */ + +# ifdef index +# undef index +# endif /* index */ + +# if defined(WIN32) && !defined(__CYGWIN__) +# define strcasecmp(s,t) _stricmp((s), (t)) +# define strncasecmp(s,t,n) _strnicmp((s), (t), (n)) +/* Visual C++ 2005 incorrectly displays a warning about the use of POSIX APIs + * on Windows, which is supposed to be POSIX compliant... Some of these + * functions are also defined in ISO C99... + */ +# ifndef __WATCOMC__ +# define strdup _strdup +# define unlink _unlink +# endif /* !__WATCOMC__ */ +# elif defined(__EMX__) +# define strcasecmp(s,t) stricmp((s), (t)) +# define strncasecmp(s,t,n) strnicmp((s), (t), (n)) +# endif /* WIN32 */ + +# ifdef __cplusplus +extern "C" { +# endif /* __cplusplus */ + +FL_EXPORT extern int fl_snprintf(char *, size_t, const char *, ...); +# if !HAVE_SNPRINTF +# define snprintf fl_snprintf +# endif /* !HAVE_SNPRINTF */ + +FL_EXPORT extern int fl_vsnprintf(char *, size_t, const char *, va_list ap); +# if !HAVE_VSNPRINTF +# define vsnprintf fl_vsnprintf +# endif /* !HAVE_VSNPRINTF */ + +/* + * strlcpy() and strlcat() are some really useful BSD string functions + * that work the way strncpy() and strncat() *should* have worked. + */ + +FL_EXPORT extern size_t fl_strlcat(char *, const char *, size_t); +# if !HAVE_STRLCAT +# define strlcat fl_strlcat +# endif /* !HAVE_STRLCAT */ + +FL_EXPORT extern size_t fl_strlcpy(char *, const char *, size_t); +# if !HAVE_STRLCPY +# define strlcpy fl_strlcpy +# endif /* !HAVE_STRLCPY */ + +# ifdef __cplusplus +} +# endif /* __cplusplus */ +#endif /* !flstring_h */ + + +/* + * End of "$Id$". + */ |
