fix severe regression involving character arrays (fixes #137)
diff --git a/example/example.cpp b/example/example.cpp
index d130551..d84b456 100644
--- a/example/example.cpp
+++ b/example/example.cpp
@@ -22,6 +22,7 @@
void init_ex11(py::module &);
void init_ex12(py::module &);
void init_ex13(py::module &);
+void init_issues(py::module &);
PYBIND11_PLUGIN(example) {
py::module m("example", "pybind example plugin");
@@ -39,6 +40,7 @@
init_ex11(m);
init_ex12(m);
init_ex13(m);
+ init_issues(m);
return m.ptr();
}
diff --git a/example/issues.cpp b/example/issues.cpp
new file mode 100644
index 0000000..e8cf831
--- /dev/null
+++ b/example/issues.cpp
@@ -0,0 +1,18 @@
+/*
+ example/issues.cpp -- collection of testcases for miscellaneous issues
+
+ Copyright (c) 2015 Wenzel Jakob <wenzel@inf.ethz.ch>
+
+ All rights reserved. Use of this source code is governed by a
+ BSD-style license that can be found in the LICENSE file.
+*/
+
+#include "example.h"
+
+
+void init_issues(py::module &m) {
+ py::module m2 = m.def_submodule("issues");
+
+ // #137: const char* isn't handled properly
+ m2.def("print_cchar", [](const char *string) { std::cout << string << std::endl; });
+}
diff --git a/example/issues.py b/example/issues.py
new file mode 100644
index 0000000..64bd7c6
--- /dev/null
+++ b/example/issues.py
@@ -0,0 +1,8 @@
+#!/usr/bin/env python
+from __future__ import print_function
+import sys
+sys.path.append('.')
+
+from example.issues import print_cchar
+
+print_cchar("const char *")
diff --git a/example/issues.ref b/example/issues.ref
new file mode 100644
index 0000000..6f672ff
--- /dev/null
+++ b/example/issues.ref
@@ -0,0 +1 @@
+const char *