Merge pull request #3262 from snnn/master

Make it compatible with python 3.6.1
pull/3401/head
Jie Luo 8 years ago committed by GitHub
commit bba4c4ae51
  1. 6
      python/google/protobuf/pyext/message.cc
  2. 3
      python/google/protobuf/pyext/repeated_composite_container.cc
  3. 7
      python/google/protobuf/pyext/repeated_scalar_container.cc

@ -1055,13 +1055,15 @@ int InternalDeleteRepeatedField(
if (PySlice_Check(slice)) {
from = to = step = slice_length = 0;
PySlice_GetIndicesEx(
#if PY_MAJOR_VERSION < 3
PySlice_GetIndicesEx(
reinterpret_cast<PySliceObject*>(slice),
length, &from, &to, &step, &slice_length);
#else
PySlice_GetIndicesEx(
slice,
#endif
length, &from, &to, &step, &slice_length);
#endif
if (from < to) {
min = from;
max = to - 1;

@ -266,10 +266,11 @@ int AssignSubscript(RepeatedCompositeContainer* self,
if (PySlice_Check(slice)) {
#if PY_MAJOR_VERSION >= 3
if (PySlice_GetIndicesEx(slice,
length, &from, &to, &step, &slicelength) == -1) {
#else
if (PySlice_GetIndicesEx(reinterpret_cast<PySliceObject*>(slice),
#endif
length, &from, &to, &step, &slicelength) == -1) {
#endif
return -1;
}
return PySequence_DelSlice(self->child_messages, from, to);

@ -305,10 +305,12 @@ static PyObject* Subscript(RepeatedScalarContainer* self, PyObject* slice) {
length = Len(self);
#if PY_MAJOR_VERSION >= 3
if (PySlice_GetIndicesEx(slice,
length, &from, &to, &step, &slicelength) == -1) {
#else
if (PySlice_GetIndicesEx(reinterpret_cast<PySliceObject*>(slice),
#endif
length, &from, &to, &step, &slicelength) == -1) {
#endif
return NULL;
}
return_list = true;
@ -458,10 +460,11 @@ static int AssSubscript(RepeatedScalarContainer* self,
length = reflection->FieldSize(*message, field_descriptor);
#if PY_MAJOR_VERSION >= 3
if (PySlice_GetIndicesEx(slice,
length, &from, &to, &step, &slicelength) == -1) {
#else
if (PySlice_GetIndicesEx(reinterpret_cast<PySliceObject*>(slice),
#endif
length, &from, &to, &step, &slicelength) == -1) {
#endif
return -1;
}
create_list = true;

Loading…
Cancel
Save