[pywin32-checkins] pywin32/com/win32comext/adsi/src PyIDsObjectPicker.i, 1.2, 1.3
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Roger U. <ru...@us...> - 2007-08-12 08:26:26
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/adsi/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25252/com/win32comext/adsi/src Modified Files: PyIDsObjectPicker.i Log Message: Move PyWinObject_AsWCHARArray into pywintypes Index: PyIDsObjectPicker.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/adsi/src/PyIDsObjectPicker.i,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PyIDsObjectPicker.i 3 May 2007 08:28:39 -0000 1.2 --- PyIDsObjectPicker.i 12 Aug 2007 08:26:27 -0000 1.3 *************** *** 13,62 **** extern BOOL PyObject_AsDSOP_SCOPE_INIT_INFOs(PyObject *ob, DSOP_SCOPE_INIT_INFO**p, ULONG *n); - static void PyWinObject_FreeWCHARArray(LPWSTR *wchars, DWORD str_cnt) - { - if (wchars!=NULL){ - for (DWORD wchar_index=0; wchar_index<str_cnt; wchar_index++) - PyWinObject_FreeWCHAR(wchars[wchar_index]); - free(wchars); - } - } - - static BOOL PyWinObject_AsWCHARArray(PyObject *str_seq, LPWSTR **wchars, DWORD *str_cnt, BOOL bNoneOK = FALSE) - { - if (bNoneOK && str_seq==Py_None) { - *wchars = NULL; - *str_cnt = 0; - return TRUE; - } - BOOL ret=FALSE; - PyObject *str_tuple=NULL, *tuple_item; - DWORD bufsize, tuple_index; - *wchars=NULL; - *str_cnt=0; - if ((str_tuple=PySequence_Tuple(str_seq))==NULL) - return FALSE; - *str_cnt=PyTuple_Size(str_tuple); - bufsize=*str_cnt * sizeof(LPWSTR); - *wchars=(LPWSTR *)malloc(bufsize); - if (*wchars==NULL){ - PyErr_Format(PyExc_MemoryError, "Unable to allocate %d bytes", bufsize); - goto done; - } - ZeroMemory(*wchars, bufsize); - for (tuple_index=0;tuple_index<*str_cnt;tuple_index++){ - tuple_item=PyTuple_GET_ITEM(str_tuple, tuple_index); - if (!PyWinObject_AsWCHAR(tuple_item, &((*wchars)[tuple_index]), FALSE)){ - PyWinObject_FreeWCHARArray(*wchars, *str_cnt); - *wchars=NULL; - *str_cnt=0; - goto done; - } - } - ret=TRUE; - done: - Py_XDECREF(str_tuple); - return ret; - } - #define SWIG_THIS_IID IID_IDsObjectPicker --- 13,16 ---- |