Эх сурвалжийг харах

Merge pull request #5423 from acozzette/python-3.7-cherry-pick

Cherry-pick fix for compatibility with Python 3.7
Adam Cozzette 6 жил өмнө
parent
commit
d0d945539f

+ 1 - 1
python/google/protobuf/pyext/descriptor.cc

@@ -56,7 +56,7 @@
   #endif
   #endif
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
     (PyUnicode_Check(ob)? \
     (PyUnicode_Check(ob)? \
-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
+       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
 #endif
 #endif
 
 

+ 1 - 1
python/google/protobuf/pyext/descriptor_containers.cc

@@ -66,7 +66,7 @@
   #endif
   #endif
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
     (PyUnicode_Check(ob)? \
     (PyUnicode_Check(ob)? \
-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
+       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
 #endif
 #endif
 
 

+ 1 - 1
python/google/protobuf/pyext/descriptor_pool.cc

@@ -48,7 +48,7 @@
   #endif
   #endif
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
     (PyUnicode_Check(ob)? \
     (PyUnicode_Check(ob)? \
-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
+       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
 #endif
 #endif
 
 

+ 1 - 1
python/google/protobuf/pyext/extension_dict.cc

@@ -53,7 +53,7 @@
   #endif
   #endif
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
     (PyUnicode_Check(ob)? \
     (PyUnicode_Check(ob)? \
-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
+       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
 #endif
 #endif
 
 

+ 2 - 2
python/google/protobuf/pyext/message.cc

@@ -79,7 +79,7 @@
     (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob))
     (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob))
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
   #define PyString_AsStringAndSize(ob, charpp, sizep) \
     (PyUnicode_Check(ob)? \
     (PyUnicode_Check(ob)? \
-       ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \
+       ((*(charpp) = const_cast<char*>(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
        PyBytes_AsStringAndSize(ob, (charpp), (sizep)))
   #endif
   #endif
 #endif
 #endif
@@ -1529,7 +1529,7 @@ PyObject* HasField(CMessage* self, PyObject* arg) {
     return NULL;
     return NULL;
   }
   }
 #else
 #else
-  field_name = PyUnicode_AsUTF8AndSize(arg, &size);
+  field_name = const_cast<char*>(PyUnicode_AsUTF8AndSize(arg, &size));
   if (!field_name) {
   if (!field_name) {
     return NULL;
     return NULL;
   }
   }