1/* -----------------------------------------------------------------------------
2 * See the LICENSE file for information on copyright, usage and redistribution
3 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
4 *
5 * warn.c
6 *
7 * SWIG warning framework.  This was added to warn developers about
8 * deprecated APIs and other features.
9 * ----------------------------------------------------------------------------- */
10
11char cvsroot_warn_c[] = "$Id: warn.c 9604 2006-12-05 21:57:44Z beazley $";
12
13#include "swig.h"
14
15static Hash *warnings = 0;
16
17/* -----------------------------------------------------------------------------
18 * Swig_warn()
19 *
20 * Issue a warning
21 * ----------------------------------------------------------------------------- */
22
23void Swig_warn(const char *filename, int line, const char *msg) {
24  String *key;
25  if (!warnings) {
26    warnings = NewHash();
27  }
28  key = NewStringf("%s:%d", filename, line);
29  if (!Getattr(warnings, key)) {
30    Printf(stderr, "swig-dev warning:%s:%d:%s\n", filename, line, msg);
31    Setattr(warnings, key, key);
32  }
33  Delete(key);
34}
35