Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

63 lines (46 sloc) 1.313 kb
#ifndef _PYODBCSQLWCHAR_H
#define _PYODBCSQLWCHAR_H
class SQLWChar
{
// An object designed to convert strings and Unicode objects to SQLWCHAR, hold the temporary buffer, and delete it
// in the destructor.
private:
SQLWCHAR* pch;
Py_ssize_t len;
bool owns_memory;
public:
SQLWChar()
{
pch = 0;
len = 0;
owns_memory = false;
}
SQLWChar(PyObject* o);
bool Convert(PyObject* o);
void Free();
~SQLWChar()
{
Free();
}
void dump();
operator SQLWCHAR*() { return pch; }
operator const SQLWCHAR*() const { return pch; }
operator bool() const { return pch != 0; }
Py_ssize_t size() const { return len; }
SQLWCHAR* operator[] (Py_ssize_t i)
{
I(i <= len); // we'll allow access to the NULL?
return &pch[i];
}
const SQLWCHAR* operator[] (Py_ssize_t i) const
{
I(i <= len); // we'll allow access to the NULL?
return &pch[i];
}
};
// The size of a SQLWCHAR.
extern Py_ssize_t SQLWCHAR_SIZE;
// Allocate a new Unicode object, initialized from the given SQLWCHAR string.
PyObject* PyUnicode_FromSQLWCHAR(const SQLWCHAR* sz, Py_ssize_t cch);
SQLWCHAR* SQLWCHAR_FromUnicode(const Py_UNICODE* pch, Py_ssize_t len);
#endif // _PYODBCSQLWCHAR_H
Jump to Line
Something went wrong with that request. Please try again.