summaryrefslogtreecommitdiffstats
path: root/fltk/fltk/string.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'fltk/fltk/string.h.in')
-rw-r--r--fltk/fltk/string.h.in130
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 $".
+ */