summaryrefslogtreecommitdiff
path: root/Source/Swig/warn.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Swig/warn.c')
-rw-r--r--Source/Swig/warn.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/Swig/warn.c b/Source/Swig/warn.c
new file mode 100644
index 0000000..8f577eb
--- /dev/null
+++ b/Source/Swig/warn.c
@@ -0,0 +1,34 @@
+/* -----------------------------------------------------------------------------
+ * See the LICENSE file for information on copyright, usage and redistribution
+ * of SWIG, and the README file for authors - http://www.swig.org/release.html.
+ *
+ * warn.c
+ *
+ * SWIG warning framework. This was added to warn developers about
+ * deprecated APIs and other features.
+ * ----------------------------------------------------------------------------- */
+
+char cvsroot_warn_c[] = "$Id: warn.c 9604 2006-12-05 21:57:44Z beazley $";
+
+#include "swig.h"
+
+static Hash *warnings = 0;
+
+/* -----------------------------------------------------------------------------
+ * Swig_warn()
+ *
+ * Issue a warning
+ * ----------------------------------------------------------------------------- */
+
+void Swig_warn(const char *filename, int line, const char *msg) {
+ String *key;
+ if (!warnings) {
+ warnings = NewHash();
+ }
+ key = NewStringf("%s:%d", filename, line);
+ if (!Getattr(warnings, key)) {
+ Printf(stderr, "swig-dev warning:%s:%d:%s\n", filename, line, msg);
+ Setattr(warnings, key, key);
+ }
+ Delete(key);
+}