1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

Merge from HEAD:

>FUNCTION_MACRO change broke the Python modules.
>
>Also fix up string pasting (I thought this should only be a warning?)
This commit is contained in:
Tim Potter 0001-01-01 00:00:00 +00:00
parent 008c572ab7
commit 5bd90f310a
2 changed files with 21 additions and 11 deletions

View File

@ -23,10 +23,19 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "Python.h"
/* This module is supposed to be standalone, however for portability
it would be good to use the FUNCTION_MACRO preprocessor define. */
#include "config.h"
#ifdef HAVE_FUNCTION_MACRO
#define FUNCTION_MACRO (__FUNCTION__)
#else
#define FUNCTION_MACRO (__FILE__)
#endif
static PyObject * pytdbpack_number(char ch, PyObject *val_iter, PyObject *packed_list);
static PyObject * pytdbpack_str(char ch,
PyObject *val_iter, PyObject *packed_list,
@ -247,7 +256,7 @@ pytdbpack_data(const char *format_str,
default:
PyErr_Format(PyExc_ValueError,
"%s: format character '%c' is not supported",
__FUNCTION__, ch);
FUNCTION_MACRO, ch);
return NULL;
}
}
@ -477,7 +486,7 @@ pytdbunpack(PyObject *self,
if (i == 0) {
PyErr_Format(PyExc_ValueError,
"%s: '$' may not be first character in format",
__FUNCTION__);
FUNCTION_MACRO);
return NULL;
}
while (packed_len > 0)
@ -511,7 +520,7 @@ static void
pytdbunpack_err_too_short(void)
{
PyErr_Format(PyExc_IndexError,
__FUNCTION__ ": data too short for unpack format");
"%s: data too short for unpack format", FUNCTION_MACRO);
}
@ -598,7 +607,7 @@ pytdbunpack_buffer(char **pbuf, int *plen, PyObject *val_list)
if (slen < 0) { /* surely you jest */
PyErr_Format(PyExc_ValueError,
__FUNCTION__ ": buffer seems to have negative length");
"%s: buffer seems to have negative length", FUNCTION_MACRO);
return NULL;
}
@ -608,8 +617,8 @@ pytdbunpack_buffer(char **pbuf, int *plen, PyObject *val_list)
if (*plen < slen) {
PyErr_Format(PyExc_IndexError,
__FUNCTION__ ": not enough data to unpack buffer: "
"need %d bytes, have %d",
"%s: not enough data to unpack buffer: "
"need %d bytes, have %d", FUNCTION_MACRO,
(int) slen, *plen);
return NULL;
}
@ -668,8 +677,8 @@ static PyObject *pytdbunpack_item(char ch,
}
else {
PyErr_Format(PyExc_ValueError,
__FUNCTION__ ": format character '%c' is not supported",
ch);
"%s: format character '%c' is not supported",
FUNCTION_MACRO, ch);
return NULL;
}

View File

@ -179,6 +179,7 @@ setup(
# tdbpack/unpack extensions. Does not actually link to any Samba
# code, although it implements a compatible data format.
Extension(name = "tdbpack",
sources = [os.path.join(samba_srcdir, "python", "py_tdbpack.c")]),
sources = [os.path.join(samba_srcdir, "python", "py_tdbpack.c")],
extra_compile_args = ["-I include"])
],
)