@@ -315,33 +315,33 @@ PRIMITIVE_ARRAY_TO_NATIVE(Long, int64_t, i64, polyglot_as_i64);
315315PRIMITIVE_ARRAY_TO_NATIVE (Double , double , double , polyglot_as_double );
316316PRIMITIVE_ARRAY_TO_NATIVE (Object , PyObjectPtr , PyObjectPtr , (PyObjectPtr ));
317317
318- #define ReadMember (object , offset , T ) ((T*)(((char*)object) + PyLong_AsSsize_t( offset) ))[0]
318+ #define ReadMember (object , offset , T ) ((T*)(((char*)object) + offset))[0]
319319
320- PyObject * ReadShortMember (PyObject * object , PyObject * offset ) {
321- return PyLong_FromLong ( ReadMember (object , offset , short ) );
320+ int ReadShortMember (PyObject * object , Py_ssize_t offset ) {
321+ return ReadMember (object , offset , short );
322322}
323323
324- PyObject * ReadIntMember (PyObject * object , PyObject * offset ) {
325- return PyLong_FromLong ( ReadMember (object , offset , int ) );
324+ int ReadIntMember (PyObject * object , Py_ssize_t offset ) {
325+ return ReadMember (object , offset , int );
326326}
327327
328- PyObject * ReadLongMember (PyObject * object , PyObject * offset ) {
329- return PyLong_FromLong ( ReadMember (object , offset , long ) );
328+ long ReadLongMember (PyObject * object , Py_ssize_t offset ) {
329+ return ReadMember (object , offset , long );
330330}
331331
332- PyObject * ReadFloatMember (PyObject * object , PyObject * offset ) {
333- return PyFloat_FromDouble ( ReadMember (object , offset , float ) );
332+ double ReadFloatMember (PyObject * object , Py_ssize_t offset ) {
333+ return ReadMember (object , offset , float );
334334}
335335
336- PyObject * ReadDoubleMember (PyObject * object , PyObject * offset ) {
337- return PyFloat_FromDouble ( ReadMember (object , offset , double ) );
336+ double ReadDoubleMember (PyObject * object , Py_ssize_t offset ) {
337+ return ReadMember (object , offset , double );
338338}
339339
340- PyObject * ReadStringMember (PyObject * object , PyObject * offset ) {
340+ PyObject * ReadStringMember (PyObject * object , Py_ssize_t offset ) {
341341 return (PyObject * )polyglot_from_string (ReadMember (object , offset , char * ), "utf-8" );
342342}
343343
344- PyObject * ReadObjectMember (PyObject * object , PyObject * offset ) {
344+ PyObject * ReadObjectMember (PyObject * object , Py_ssize_t offset ) {
345345 PyObject * member = ReadMember (object , offset , PyObject * );
346346 if (member == NULL ) {
347347 return Py_None ;
@@ -350,36 +350,36 @@ PyObject* ReadObjectMember(PyObject* object, PyObject* offset) {
350350 }
351351}
352352
353- PyObject * ReadCharMember (PyObject * object , PyObject * offset ) {
353+ PyObject * ReadCharMember (PyObject * object , Py_ssize_t offset ) {
354354 return polyglot_from_string_n (& ReadMember (object , offset , char ), 1 , "utf-8" );
355355}
356356
357- PyObject * ReadByteMember (PyObject * object , PyObject * offset ) {
358- return PyLong_FromLong ( ReadMember (object , offset , char ) );
357+ int ReadByteMember (PyObject * object , Py_ssize_t offset ) {
358+ return ReadMember (object , offset , char );
359359}
360360
361- PyObject * ReadUByteMember (PyObject * object , PyObject * offset ) {
361+ PyObject * ReadUByteMember (PyObject * object , Py_ssize_t offset ) {
362362 return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned char ));
363363}
364364
365- PyObject * ReadUShortMember (PyObject * object , PyObject * offset ) {
365+ PyObject * ReadUShortMember (PyObject * object , Py_ssize_t offset ) {
366366 return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned short ));
367367}
368368
369- PyObject * ReadUIntMember (PyObject * object , PyObject * offset ) {
369+ PyObject * ReadUIntMember (PyObject * object , Py_ssize_t offset ) {
370370 return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned int ));
371371}
372372
373- PyObject * ReadULongMember (PyObject * object , PyObject * offset ) {
373+ PyObject * ReadULongMember (PyObject * object , Py_ssize_t offset ) {
374374 return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned long ));
375375}
376376
377- PyObject * ReadBoolMember (PyObject * object , PyObject * offset ) {
377+ PyObject * ReadBoolMember (PyObject * object , Py_ssize_t offset ) {
378378 char flag = ReadMember (object , offset , char );
379379 return flag ? Py_True : Py_False ;
380380}
381381
382- PyObject * ReadObjectExMember (PyObject * object , PyObject * offset ) {
382+ PyObject * ReadObjectExMember (PyObject * object , Py_ssize_t offset ) {
383383 PyObject * member = ReadMember (object , offset , PyObject * );
384384 if (member == NULL ) {
385385 PyErr_SetString (PyExc_ValueError , "member must not be NULL" );
@@ -389,97 +389,97 @@ PyObject* ReadObjectExMember(PyObject* object, PyObject* offset) {
389389 }
390390}
391391
392- PyObject * ReadLongLongMember (PyObject * object , PyObject * offset ) {
392+ PyObject * ReadLongLongMember (PyObject * object , Py_ssize_t offset ) {
393393 return PyLong_FromLongLong (ReadMember (object , offset , long long ));
394394}
395395
396- PyObject * ReadULongLongMember (PyObject * object , PyObject * offset ) {
396+ PyObject * ReadULongLongMember (PyObject * object , Py_ssize_t offset ) {
397397 return PyLong_FromUnsignedLongLong (ReadMember (object , offset , unsigned long long));
398398}
399399
400- PyObject * ReadPySSizeT (PyObject * object , PyObject * offset ) {
400+ PyObject * ReadPySSizeT (PyObject * object , Py_ssize_t offset ) {
401401 return PyLong_FromSsize_t (ReadMember (object , offset , Py_ssize_t ));
402402}
403403
404404#undef ReadMember
405405
406406#define WriteMember (object , offset , value , T ) *(T*)(((char*)object) + PyLong_AsSsize_t(offset)) = (T)(value)
407407
408- PyObject * WriteShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
408+ PyObject * WriteShortMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
409409 WriteMember (object , offset , PyLong_AsLong (value ), short );
410410 return value ;
411411}
412412
413- PyObject * WriteIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
413+ PyObject * WriteIntMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
414414 WriteMember (object , offset , PyLong_AsLong (value ), int );
415415 return value ;
416416}
417417
418- PyObject * WriteLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
418+ PyObject * WriteLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
419419 WriteMember (object , offset , PyLong_AsLong (value ), long );
420420 return value ;
421421}
422422
423- PyObject * WriteFloatMember (PyObject * object , PyObject * offset , PyObject * value ) {
423+ PyObject * WriteFloatMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
424424 WriteMember (object , offset , PyFloat_AsDouble (value ), float );
425425 return value ;
426426}
427427
428- PyObject * WriteDoubleMember (PyObject * object , PyObject * offset , PyObject * value ) {
428+ PyObject * WriteDoubleMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
429429 WriteMember (object , offset , PyFloat_AsDouble (value ), double );
430430 return value ;
431431}
432432
433- PyObject * WriteStringMember (PyObject * object , PyObject * offset , PyObject * value ) {
433+ PyObject * WriteStringMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
434434 WriteMember (object , offset , as_char_pointer (value ), char * );
435435 return value ;
436436}
437437
438- PyObject * WriteObjectMember (PyObject * object , PyObject * offset , PyObject * value ) {
438+ PyObject * WriteObjectMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
439439 WriteMember (object , offset , value , PyObject * );
440440 return value ;
441441}
442442
443- PyObject * WriteCharMember (PyObject * object , PyObject * offset , PyObject * value ) {
443+ PyObject * WriteCharMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
444444 const char * ptr = as_char_pointer (value );
445445 const char c = ptr [0 ];
446446 truffle_free_cstr (ptr );
447447 WriteMember (object , offset , c , char );
448448 return value ;
449449}
450450
451- PyObject * WriteByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
451+ PyObject * WriteByteMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
452452 WriteMember (object , offset , PyLong_AsLong (value ), char );
453453 return value ;
454454}
455455
456- PyObject * WriteUByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
456+ PyObject * WriteUByteMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
457457 WriteMember (object , offset , PyLong_AsLong (value ), uint8_t );
458458 return value ;
459459}
460460
461- PyObject * WriteUShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
461+ PyObject * WriteUShortMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
462462 WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned short );
463463 return value ;
464464}
465465
466- PyObject * WriteUIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
466+ PyObject * WriteUIntMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
467467 WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned int );
468468 return value ;
469469}
470470
471- PyObject * WriteULongMember (PyObject * object , PyObject * offset , PyObject * value ) {
471+ PyObject * WriteULongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
472472 WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned long );
473473 return value ;
474474}
475475
476476UPCALL_ID (__bool__ );
477- PyObject * WriteBoolMember (PyObject * object , PyObject * offset , PyObject * value ) {
477+ PyObject * WriteBoolMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
478478 WriteMember (object , offset , UPCALL_O (native_to_java (value ), _jls___bool__ ) == Py_True ? (char )1 : (char )0 , char );
479479 return value ;
480480}
481481
482- PyObject * WriteObjectExMember (PyObject * object , PyObject * offset , PyObject * value ) {
482+ PyObject * WriteObjectExMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
483483 if (value == NULL ) {
484484 PyErr_SetString (PyExc_ValueError , "member must not be NULL" );
485485 return NULL ;
@@ -489,17 +489,17 @@ PyObject* WriteObjectExMember(PyObject* object, PyObject* offset, PyObject* valu
489489 }
490490}
491491
492- PyObject * WriteLongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
492+ PyObject * WriteLongLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
493493 WriteMember (object , offset , value , long long );
494494 return value ;
495495}
496496
497- PyObject * WriteULongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
497+ PyObject * WriteULongLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
498498 WriteMember (object , offset , value , unsigned long long);
499499 return value ;
500500}
501501
502- PyObject * WritePySSizeT (PyObject * object , PyObject * offset , PyObject * value ) {
502+ PyObject * WritePySSizeT (PyObject * object , Py_ssize_t offset , PyObject * value ) {
503503 WriteMember (object , offset , value , Py_ssize_t );
504504 return value ;
505505}
0 commit comments