diff --git a/include/pybind11/cast.h b/include/pybind11/cast.h index 5ddfdf76f..976d28266 100644 --- a/include/pybind11/cast.h +++ b/include/pybind11/cast.h @@ -406,14 +406,14 @@ protected: template <> class type_caster { public: - bool load(handle src, bool) { - object temp; - handle load_src = src; - if (!PyUnicode_Check(load_src.ptr())) { - temp = object(PyUnicode_FromObject(load_src.ptr()), false); - if (!temp) { PyErr_Clear(); return false; } - load_src = temp; - } + bool load(handle src, bool) { + object temp; + handle load_src = src; + if (!PyUnicode_Check(load_src.ptr())) { + temp = object(PyUnicode_FromObject(load_src.ptr()), false); + if (!temp) { PyErr_Clear(); return false; } + load_src = temp; + } wchar_t *buffer = nullptr; ssize_t length = -1; #if PY_MAJOR_VERSION >= 3 @@ -430,24 +430,24 @@ public: } #endif if (!buffer) { PyErr_Clear(); return false; } - value = std::wstring(buffer, length); - success = true; - return true; - } + value = std::wstring(buffer, length); + success = true; + return true; + } - static handle cast(const std::wstring &src, return_value_policy /* policy */, handle /* parent */) { - return PyUnicode_FromWideChar(src.c_str(), src.length()); - } + static handle cast(const std::wstring &src, return_value_policy /* policy */, handle /* parent */) { + return PyUnicode_FromWideChar(src.c_str(), src.length()); + } - PYBIND11_TYPE_CASTER(std::wstring, _(PYBIND11_STRING_NAME)); + PYBIND11_TYPE_CASTER(std::wstring, _(PYBIND11_STRING_NAME)); protected: bool success = false; }; template <> class type_caster : public type_caster { public: - bool load(handle src, bool convert) { - if (src.ptr() == Py_None) { return true; } + bool load(handle src, bool convert) { + if (src.ptr() == Py_None) { return true; } return type_caster::load(src, convert); } @@ -462,32 +462,32 @@ public: } operator char*() { return success ? (char *) value.c_str() : nullptr; } - operator char&() { return value[0]; } + operator char&() { return value[0]; } static PYBIND11_DESCR name() { return type_descr(_(PYBIND11_STRING_NAME)); } }; template <> class type_caster : public type_caster { public: - bool load(handle src, bool convert) { - if (src.ptr() == Py_None) { return true; } + bool load(handle src, bool convert) { + if (src.ptr() == Py_None) { return true; } return type_caster::load(src, convert); } - static handle cast(const wchar_t *src, return_value_policy /* policy */, handle /* parent */) { + static handle cast(const wchar_t *src, return_value_policy /* policy */, handle /* parent */) { if (src == nullptr) return handle(Py_None).inc_ref(); - return PyUnicode_FromWideChar(src, wcslen(src)); - } + return PyUnicode_FromWideChar(src, wcslen(src)); + } - static handle cast(wchar_t src, return_value_policy /* policy */, handle /* parent */) { - wchar_t wstr[2] = { src, L'\0' }; - return PyUnicode_FromWideChar(wstr, 1); - } + static handle cast(wchar_t src, return_value_policy /* policy */, handle /* parent */) { + wchar_t wstr[2] = { src, L'\0' }; + return PyUnicode_FromWideChar(wstr, 1); + } operator wchar_t*() { return success ? (wchar_t *) value.c_str() : nullptr; } - operator wchar_t&() { return value[0]; } + operator wchar_t&() { return value[0]; } - static PYBIND11_DESCR name() { return type_descr(_(PYBIND11_STRING_NAME)); } + static PYBIND11_DESCR name() { return type_descr(_(PYBIND11_STRING_NAME)); } }; template class type_caster> {