@@ -315,33 +315,33 @@ PRIMITIVE_ARRAY_TO_NATIVE(Long, int64_t, i64, polyglot_as_i64);
315
315
PRIMITIVE_ARRAY_TO_NATIVE (Double , double , double , polyglot_as_double );
316
316
PRIMITIVE_ARRAY_TO_NATIVE (Object , PyObjectPtr , PyObjectPtr , (PyObjectPtr ));
317
317
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]
319
319
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 );
322
322
}
323
323
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 );
326
326
}
327
327
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 );
330
330
}
331
331
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 );
334
334
}
335
335
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 );
338
338
}
339
339
340
- PyObject * ReadStringMember (PyObject * object , PyObject * offset ) {
340
+ PyObject * ReadStringMember (PyObject * object , Py_ssize_t offset ) {
341
341
return (PyObject * )polyglot_from_string (ReadMember (object , offset , char * ), "utf-8" );
342
342
}
343
343
344
- PyObject * ReadObjectMember (PyObject * object , PyObject * offset ) {
344
+ PyObject * ReadObjectMember (PyObject * object , Py_ssize_t offset ) {
345
345
PyObject * member = ReadMember (object , offset , PyObject * );
346
346
if (member == NULL ) {
347
347
return Py_None ;
@@ -350,36 +350,36 @@ PyObject* ReadObjectMember(PyObject* object, PyObject* offset) {
350
350
}
351
351
}
352
352
353
- PyObject * ReadCharMember (PyObject * object , PyObject * offset ) {
353
+ PyObject * ReadCharMember (PyObject * object , Py_ssize_t offset ) {
354
354
return polyglot_from_string_n (& ReadMember (object , offset , char ), 1 , "utf-8" );
355
355
}
356
356
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 );
359
359
}
360
360
361
- PyObject * ReadUByteMember (PyObject * object , PyObject * offset ) {
361
+ PyObject * ReadUByteMember (PyObject * object , Py_ssize_t offset ) {
362
362
return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned char ));
363
363
}
364
364
365
- PyObject * ReadUShortMember (PyObject * object , PyObject * offset ) {
365
+ PyObject * ReadUShortMember (PyObject * object , Py_ssize_t offset ) {
366
366
return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned short ));
367
367
}
368
368
369
- PyObject * ReadUIntMember (PyObject * object , PyObject * offset ) {
369
+ PyObject * ReadUIntMember (PyObject * object , Py_ssize_t offset ) {
370
370
return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned int ));
371
371
}
372
372
373
- PyObject * ReadULongMember (PyObject * object , PyObject * offset ) {
373
+ PyObject * ReadULongMember (PyObject * object , Py_ssize_t offset ) {
374
374
return PyLong_FromUnsignedLong (ReadMember (object , offset , unsigned long ));
375
375
}
376
376
377
- PyObject * ReadBoolMember (PyObject * object , PyObject * offset ) {
377
+ PyObject * ReadBoolMember (PyObject * object , Py_ssize_t offset ) {
378
378
char flag = ReadMember (object , offset , char );
379
379
return flag ? Py_True : Py_False ;
380
380
}
381
381
382
- PyObject * ReadObjectExMember (PyObject * object , PyObject * offset ) {
382
+ PyObject * ReadObjectExMember (PyObject * object , Py_ssize_t offset ) {
383
383
PyObject * member = ReadMember (object , offset , PyObject * );
384
384
if (member == NULL ) {
385
385
PyErr_SetString (PyExc_ValueError , "member must not be NULL" );
@@ -389,97 +389,97 @@ PyObject* ReadObjectExMember(PyObject* object, PyObject* offset) {
389
389
}
390
390
}
391
391
392
- PyObject * ReadLongLongMember (PyObject * object , PyObject * offset ) {
392
+ PyObject * ReadLongLongMember (PyObject * object , Py_ssize_t offset ) {
393
393
return PyLong_FromLongLong (ReadMember (object , offset , long long ));
394
394
}
395
395
396
- PyObject * ReadULongLongMember (PyObject * object , PyObject * offset ) {
396
+ PyObject * ReadULongLongMember (PyObject * object , Py_ssize_t offset ) {
397
397
return PyLong_FromUnsignedLongLong (ReadMember (object , offset , unsigned long long));
398
398
}
399
399
400
- PyObject * ReadPySSizeT (PyObject * object , PyObject * offset ) {
400
+ PyObject * ReadPySSizeT (PyObject * object , Py_ssize_t offset ) {
401
401
return PyLong_FromSsize_t (ReadMember (object , offset , Py_ssize_t ));
402
402
}
403
403
404
404
#undef ReadMember
405
405
406
406
#define WriteMember (object , offset , value , T ) *(T*)(((char*)object) + PyLong_AsSsize_t(offset)) = (T)(value)
407
407
408
- PyObject * WriteShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
408
+ PyObject * WriteShortMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
409
409
WriteMember (object , offset , PyLong_AsLong (value ), short );
410
410
return value ;
411
411
}
412
412
413
- PyObject * WriteIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
413
+ PyObject * WriteIntMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
414
414
WriteMember (object , offset , PyLong_AsLong (value ), int );
415
415
return value ;
416
416
}
417
417
418
- PyObject * WriteLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
418
+ PyObject * WriteLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
419
419
WriteMember (object , offset , PyLong_AsLong (value ), long );
420
420
return value ;
421
421
}
422
422
423
- PyObject * WriteFloatMember (PyObject * object , PyObject * offset , PyObject * value ) {
423
+ PyObject * WriteFloatMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
424
424
WriteMember (object , offset , PyFloat_AsDouble (value ), float );
425
425
return value ;
426
426
}
427
427
428
- PyObject * WriteDoubleMember (PyObject * object , PyObject * offset , PyObject * value ) {
428
+ PyObject * WriteDoubleMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
429
429
WriteMember (object , offset , PyFloat_AsDouble (value ), double );
430
430
return value ;
431
431
}
432
432
433
- PyObject * WriteStringMember (PyObject * object , PyObject * offset , PyObject * value ) {
433
+ PyObject * WriteStringMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
434
434
WriteMember (object , offset , as_char_pointer (value ), char * );
435
435
return value ;
436
436
}
437
437
438
- PyObject * WriteObjectMember (PyObject * object , PyObject * offset , PyObject * value ) {
438
+ PyObject * WriteObjectMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
439
439
WriteMember (object , offset , value , PyObject * );
440
440
return value ;
441
441
}
442
442
443
- PyObject * WriteCharMember (PyObject * object , PyObject * offset , PyObject * value ) {
443
+ PyObject * WriteCharMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
444
444
const char * ptr = as_char_pointer (value );
445
445
const char c = ptr [0 ];
446
446
truffle_free_cstr (ptr );
447
447
WriteMember (object , offset , c , char );
448
448
return value ;
449
449
}
450
450
451
- PyObject * WriteByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
451
+ PyObject * WriteByteMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
452
452
WriteMember (object , offset , PyLong_AsLong (value ), char );
453
453
return value ;
454
454
}
455
455
456
- PyObject * WriteUByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
456
+ PyObject * WriteUByteMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
457
457
WriteMember (object , offset , PyLong_AsLong (value ), uint8_t );
458
458
return value ;
459
459
}
460
460
461
- PyObject * WriteUShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
461
+ PyObject * WriteUShortMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
462
462
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned short );
463
463
return value ;
464
464
}
465
465
466
- PyObject * WriteUIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
466
+ PyObject * WriteUIntMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
467
467
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned int );
468
468
return value ;
469
469
}
470
470
471
- PyObject * WriteULongMember (PyObject * object , PyObject * offset , PyObject * value ) {
471
+ PyObject * WriteULongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
472
472
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned long );
473
473
return value ;
474
474
}
475
475
476
476
UPCALL_ID (__bool__ );
477
- PyObject * WriteBoolMember (PyObject * object , PyObject * offset , PyObject * value ) {
477
+ PyObject * WriteBoolMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
478
478
WriteMember (object , offset , UPCALL_O (native_to_java (value ), _jls___bool__ ) == Py_True ? (char )1 : (char )0 , char );
479
479
return value ;
480
480
}
481
481
482
- PyObject * WriteObjectExMember (PyObject * object , PyObject * offset , PyObject * value ) {
482
+ PyObject * WriteObjectExMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
483
483
if (value == NULL ) {
484
484
PyErr_SetString (PyExc_ValueError , "member must not be NULL" );
485
485
return NULL ;
@@ -489,17 +489,17 @@ PyObject* WriteObjectExMember(PyObject* object, PyObject* offset, PyObject* valu
489
489
}
490
490
}
491
491
492
- PyObject * WriteLongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
492
+ PyObject * WriteLongLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
493
493
WriteMember (object , offset , value , long long );
494
494
return value ;
495
495
}
496
496
497
- PyObject * WriteULongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
497
+ PyObject * WriteULongLongMember (PyObject * object , Py_ssize_t offset , PyObject * value ) {
498
498
WriteMember (object , offset , value , unsigned long long);
499
499
return value ;
500
500
}
501
501
502
- PyObject * WritePySSizeT (PyObject * object , PyObject * offset , PyObject * value ) {
502
+ PyObject * WritePySSizeT (PyObject * object , Py_ssize_t offset , PyObject * value ) {
503
503
WriteMember (object , offset , value , Py_ssize_t );
504
504
return value ;
505
505
}
0 commit comments