@@ -153,7 +153,7 @@ static PyObject* datetime_from_millis(long long millis) {
153
153
int microseconds = diff * 1000 ;
154
154
Time64_T seconds = (millis - diff ) / 1000 ;
155
155
struct TM timeinfo ;
156
- gmtime64_r (& seconds , & timeinfo );
156
+ cbson_gmtime64_r (& seconds , & timeinfo );
157
157
158
158
return PyDateTime_FromDateAndTime (timeinfo .tm_year + 1900 ,
159
159
timeinfo .tm_mon + 1 ,
@@ -175,14 +175,14 @@ static long long millis_from_datetime(PyObject* datetime) {
175
175
timeinfo .tm_min = PyDateTime_DATE_GET_MINUTE (datetime );
176
176
timeinfo .tm_sec = PyDateTime_DATE_GET_SECOND (datetime );
177
177
178
- millis = timegm64 (& timeinfo ) * 1000 ;
178
+ millis = cbson_timegm64 (& timeinfo ) * 1000 ;
179
179
millis += PyDateTime_DATE_GET_MICROSECOND (datetime ) / 1000 ;
180
180
return millis ;
181
181
}
182
182
183
183
/* Just make this compatible w/ the old API. */
184
184
int buffer_write_bytes (buffer_t buffer , const char * data , int size ) {
185
- if (buffer_write (buffer , data , size )) {
185
+ if (pymongo_buffer_write (buffer , data , size )) {
186
186
return 0 ;
187
187
}
188
188
return 1 ;
@@ -207,7 +207,7 @@ void buffer_write_int32_at_position(buffer_t buffer,
207
207
int position ,
208
208
int32_t data ) {
209
209
uint32_t data_le = BSON_UINT32_TO_LE (data );
210
- memcpy (buffer_get_buffer (buffer ) + position , & data_le , 4 );
210
+ memcpy (pymongo_buffer_get_buffer (buffer ) + position , & data_le , 4 );
211
211
}
212
212
213
213
static int write_unicode (buffer_t buffer , PyObject * py_string ) {
@@ -419,7 +419,7 @@ static long _type_marker(PyObject* object) {
419
419
* Return 1 on success. options->document_class is a new reference.
420
420
* Return 0 on failure.
421
421
*/
422
- int convert_type_registry (PyObject * registry_obj , type_registry_t * registry ) {
422
+ int cbson_convert_type_registry (PyObject * registry_obj , type_registry_t * registry ) {
423
423
registry -> encoder_map = NULL ;
424
424
registry -> decoder_map = NULL ;
425
425
registry -> fallback_encoder = NULL ;
@@ -481,7 +481,7 @@ int convert_codec_options(PyObject* options_obj, void* p) {
481
481
return 0 ;
482
482
}
483
483
484
- if (!convert_type_registry (type_registry_obj ,
484
+ if (!cbson_convert_type_registry (type_registry_obj ,
485
485
& options -> type_registry )) {
486
486
return 0 ;
487
487
}
@@ -597,7 +597,7 @@ static int _write_regex_to_buffer(
597
597
Py_DECREF (encoded_pattern );
598
598
return 0 ;
599
599
}
600
- status = check_string ((const unsigned char * )pattern_data ,
600
+ status = cbson_check_string ((const unsigned char * )pattern_data ,
601
601
pattern_length , check_utf8 , 1 );
602
602
if (status == NOT_UTF_8 ) {
603
603
PyObject * InvalidStringData = _error ("InvalidStringData" );
@@ -649,7 +649,7 @@ static int _write_regex_to_buffer(
649
649
if (!buffer_write_bytes (buffer , flags , flags_length )) {
650
650
return 0 ;
651
651
}
652
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x0B ;
652
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x0B ;
653
653
return 1 ;
654
654
}
655
655
@@ -687,7 +687,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
687
687
const char * data ;
688
688
int size ;
689
689
690
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x05 ;
690
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x05 ;
691
691
subtype_object = PyObject_GetAttrString (value , "subtype" );
692
692
if (!subtype_object ) {
693
693
return 0 ;
@@ -750,7 +750,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
750
750
return 0 ;
751
751
}
752
752
Py_DECREF (pystring );
753
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x07 ;
753
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x07 ;
754
754
return 1 ;
755
755
}
756
756
case 11 :
@@ -772,15 +772,15 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
772
772
773
773
if (scope == Py_None ) {
774
774
Py_DECREF (scope );
775
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x0D ;
775
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x0D ;
776
776
return write_string (buffer , value );
777
777
}
778
778
779
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x0F ;
779
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x0F ;
780
780
781
- start_position = buffer_get_position (buffer );
781
+ start_position = pymongo_buffer_get_position (buffer );
782
782
/* save space for length */
783
- length_location = buffer_save_space (buffer , 4 );
783
+ length_location = pymongo_buffer_save_space (buffer , 4 );
784
784
if (length_location == -1 ) {
785
785
Py_DECREF (scope );
786
786
return 0 ;
@@ -797,7 +797,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
797
797
}
798
798
Py_DECREF (scope );
799
799
800
- length = buffer_get_position (buffer ) - start_position ;
800
+ length = pymongo_buffer_get_position (buffer ) - start_position ;
801
801
buffer_write_int32_at_position (
802
802
buffer , length_location , (int32_t )length );
803
803
return 1 ;
@@ -834,7 +834,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
834
834
return 0 ;
835
835
}
836
836
837
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x11 ;
837
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x11 ;
838
838
return 1 ;
839
839
}
840
840
case 18 :
@@ -849,7 +849,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
849
849
if (!buffer_write_int64 (buffer , (int64_t )ll )) {
850
850
return 0 ;
851
851
}
852
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x12 ;
852
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x12 ;
853
853
return 1 ;
854
854
}
855
855
case 19 :
@@ -870,7 +870,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
870
870
return 0 ;
871
871
}
872
872
Py_DECREF (pystring );
873
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x13 ;
873
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x13 ;
874
874
return 1 ;
875
875
}
876
876
case 100 :
@@ -885,7 +885,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
885
885
return 0 ;
886
886
}
887
887
Py_DECREF (as_doc );
888
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
888
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
889
889
return 1 ;
890
890
}
891
891
case 101 :
@@ -894,19 +894,19 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
894
894
if (!write_raw_doc (buffer , value )) {
895
895
return 0 ;
896
896
}
897
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
897
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
898
898
return 1 ;
899
899
}
900
900
case 255 :
901
901
{
902
902
/* MinKey */
903
- * (buffer_get_buffer (buffer ) + type_byte ) = 0xFF ;
903
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0xFF ;
904
904
return 1 ;
905
905
}
906
906
case 127 :
907
907
{
908
908
/* MaxKey */
909
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x7F ;
909
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x7F ;
910
910
return 1 ;
911
911
}
912
912
}
@@ -915,7 +915,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
915
915
916
916
if (PyBool_Check (value )) {
917
917
const char c = (value == Py_True ) ? 0x01 : 0x00 ;
918
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x08 ;
918
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x08 ;
919
919
return buffer_write_bytes (buffer , & c , 1 );
920
920
}
921
921
else if (PyLong_Check (value )) {
@@ -931,20 +931,20 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
931
931
"MongoDB can only handle up to 8-byte ints" );
932
932
return 0 ;
933
933
}
934
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x12 ;
934
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x12 ;
935
935
return buffer_write_int64 (buffer , (int64_t )long_long_value );
936
936
}
937
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x10 ;
937
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x10 ;
938
938
return buffer_write_int32 (buffer , (int32_t )int_value );
939
939
} else if (PyFloat_Check (value )) {
940
940
const double d = PyFloat_AsDouble (value );
941
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x01 ;
941
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x01 ;
942
942
return buffer_write_double (buffer , d );
943
943
} else if (value == Py_None ) {
944
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x0A ;
944
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x0A ;
945
945
return 1 ;
946
946
} else if (PyDict_Check (value )) {
947
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
947
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
948
948
return write_dict (self , buffer , value , check_keys , options , 0 );
949
949
} else if (PyList_Check (value ) || PyTuple_Check (value )) {
950
950
Py_ssize_t items , i ;
@@ -953,11 +953,11 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
953
953
length ;
954
954
char zero = 0 ;
955
955
956
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x04 ;
957
- start_position = buffer_get_position (buffer );
956
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x04 ;
957
+ start_position = pymongo_buffer_get_position (buffer );
958
958
959
959
/* save space for length */
960
- length_location = buffer_save_space (buffer , 4 );
960
+ length_location = pymongo_buffer_save_space (buffer , 4 );
961
961
if (length_location == -1 ) {
962
962
return 0 ;
963
963
}
@@ -972,7 +972,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
972
972
return 0 ;
973
973
}
974
974
for (i = 0 ; i < items ; i ++ ) {
975
- int list_type_byte = buffer_save_space (buffer , 1 );
975
+ int list_type_byte = pymongo_buffer_save_space (buffer , 1 );
976
976
char name [16 ];
977
977
PyObject * item_value ;
978
978
@@ -999,7 +999,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
999
999
if (!buffer_write_bytes (buffer , & zero , 1 )) {
1000
1000
return 0 ;
1001
1001
}
1002
- length = buffer_get_position (buffer ) - start_position ;
1002
+ length = pymongo_buffer_get_position (buffer ) - start_position ;
1003
1003
buffer_write_int32_at_position (
1004
1004
buffer , length_location , (int32_t )length );
1005
1005
return 1 ;
@@ -1012,7 +1012,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
1012
1012
return 0 ;
1013
1013
if ((size = _downcast_and_check (PyBytes_GET_SIZE (value ), 0 )) == -1 )
1014
1014
return 0 ;
1015
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x05 ;
1015
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x05 ;
1016
1016
if (!buffer_write_int32 (buffer , (int32_t )size )) {
1017
1017
return 0 ;
1018
1018
}
@@ -1024,7 +1024,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
1024
1024
}
1025
1025
return 1 ;
1026
1026
} else if (PyUnicode_Check (value )) {
1027
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x02 ;
1027
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x02 ;
1028
1028
return write_unicode (buffer , value );
1029
1029
} else if (PyDateTime_Check (value )) {
1030
1030
long long millis ;
@@ -1042,7 +1042,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
1042
1042
} else {
1043
1043
millis = millis_from_datetime (value );
1044
1044
}
1045
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x09 ;
1045
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x09 ;
1046
1046
return buffer_write_int64 (buffer , (int64_t )millis );
1047
1047
} else if (PyObject_TypeCheck (value , state -> REType )) {
1048
1048
return _write_regex_to_buffer (buffer , type_byte , value );
@@ -1059,7 +1059,7 @@ static int _write_element_to_buffer(PyObject* self, buffer_t buffer,
1059
1059
if (PyErr_Occurred ()) {
1060
1060
return 0 ;
1061
1061
}
1062
- * (buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
1062
+ * (pymongo_buffer_get_buffer (buffer ) + type_byte ) = 0x03 ;
1063
1063
return write_dict (self , buffer , value , check_keys , options , 0 );
1064
1064
}
1065
1065
@@ -1189,7 +1189,7 @@ int write_pair(PyObject* self, buffer_t buffer, const char* name, int name_lengt
1189
1189
return 1 ;
1190
1190
}
1191
1191
1192
- type_byte = buffer_save_space (buffer , 1 );
1192
+ type_byte = pymongo_buffer_save_space (buffer , 1 );
1193
1193
if (type_byte == -1 ) {
1194
1194
return 0 ;
1195
1195
}
@@ -1362,7 +1362,7 @@ int write_dict(PyObject* self, buffer_t buffer,
1362
1362
}
1363
1363
}
1364
1364
1365
- length_location = buffer_save_space (buffer , 4 );
1365
+ length_location = pymongo_buffer_save_space (buffer , 4 );
1366
1366
if (length_location == -1 ) {
1367
1367
return 0 ;
1368
1368
}
@@ -1429,7 +1429,7 @@ int write_dict(PyObject* self, buffer_t buffer,
1429
1429
if (!buffer_write_bytes (buffer , & zero , 1 )) {
1430
1430
return 0 ;
1431
1431
}
1432
- length = buffer_get_position (buffer ) - length_location ;
1432
+ length = pymongo_buffer_get_position (buffer ) - length_location ;
1433
1433
buffer_write_int32_at_position (
1434
1434
buffer , length_location , (int32_t )length );
1435
1435
return length ;
@@ -1464,23 +1464,23 @@ static PyObject* _cbson_dict_to_bson(PyObject* self, PyObject* args) {
1464
1464
return raw_bson_document_bytes_obj ;
1465
1465
}
1466
1466
1467
- buffer = buffer_new ();
1467
+ buffer = pymongo_buffer_new ();
1468
1468
if (!buffer ) {
1469
1469
destroy_codec_options (& options );
1470
1470
return NULL ;
1471
1471
}
1472
1472
1473
1473
if (!write_dict (self , buffer , dict , check_keys , & options , top_level )) {
1474
1474
destroy_codec_options (& options );
1475
- buffer_free (buffer );
1475
+ pymongo_buffer_free (buffer );
1476
1476
return NULL ;
1477
1477
}
1478
1478
1479
1479
/* objectify buffer */
1480
- result = Py_BuildValue ("y#" , buffer_get_buffer (buffer ),
1481
- (Py_ssize_t )buffer_get_position (buffer ));
1480
+ result = Py_BuildValue ("y#" , pymongo_buffer_get_buffer (buffer ),
1481
+ (Py_ssize_t )pymongo_buffer_get_position (buffer ));
1482
1482
destroy_codec_options (& options );
1483
- buffer_free (buffer );
1483
+ pymongo_buffer_free (buffer );
1484
1484
return result ;
1485
1485
}
1486
1486
0 commit comments