@@ -301,87 +301,104 @@ Py_ssize_t ReadPySSizeT(PyObject* object, PyObject* offset) {
301
301
302
302
#undef ReadMember
303
303
304
- #define WriteMember (object , offset , value , T ) do {\
305
- *(T*)(((char*)object) + PyLong_AsSsize_t(offset)) = (T)(value); \
306
- } while(0)
304
+ #define WriteMember (object , offset , value , T ) *(T*)(((char*)object) + PyLong_AsSsize_t(offset)) = (T)(value)
307
305
308
- void WriteShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
306
+ PyObject * WriteShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
309
307
WriteMember (object , offset , PyLong_AsLong (value ), short );
308
+ return value ;
310
309
}
311
310
312
- void WriteIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
311
+ PyObject * WriteIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
313
312
WriteMember (object , offset , PyLong_AsLong (value ), int );
313
+ return value ;
314
314
}
315
315
316
- void WriteLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
316
+ PyObject * WriteLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
317
317
WriteMember (object , offset , PyLong_AsLong (value ), long );
318
+ return value ;
318
319
}
319
320
320
- void WriteFloatMember (PyObject * object , PyObject * offset , PyObject * value ) {
321
+ PyObject * WriteFloatMember (PyObject * object , PyObject * offset , PyObject * value ) {
321
322
WriteMember (object , offset , PyFloat_AsDouble (value ), float );
323
+ return value ;
322
324
}
323
325
324
- void WriteDoubleMember (PyObject * object , PyObject * offset , PyObject * value ) {
326
+ PyObject * WriteDoubleMember (PyObject * object , PyObject * offset , PyObject * value ) {
325
327
WriteMember (object , offset , PyFloat_AsDouble (value ), double );
328
+ return value ;
326
329
}
327
330
328
- void WriteStringMember (PyObject * object , PyObject * offset , PyObject * value ) {
331
+ PyObject * WriteStringMember (PyObject * object , PyObject * offset , PyObject * value ) {
329
332
WriteMember (object , offset , as_char_pointer (value ), char * );
333
+ return value ;
330
334
}
331
335
332
- void WriteObjectMember (PyObject * object , PyObject * offset , PyObject * value ) {
336
+ PyObject * WriteObjectMember (PyObject * object , PyObject * offset , PyObject * value ) {
333
337
WriteMember (object , offset , value , PyObject * );
338
+ return value ;
334
339
}
335
340
336
- void WriteCharMember (PyObject * object , PyObject * offset , PyObject * value ) {
341
+ PyObject * WriteCharMember (PyObject * object , PyObject * offset , PyObject * value ) {
337
342
const char * ptr = as_char_pointer (value );
338
343
const char c = ptr [0 ];
339
344
truffle_free_cstr (ptr );
340
345
WriteMember (object , offset , c , char );
346
+ return value ;
341
347
}
342
348
343
- void WriteByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
349
+ PyObject * WriteByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
344
350
WriteCharMember (object , offset , value );
351
+ return value ;
345
352
}
346
353
347
- void WriteUByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
354
+ PyObject * WriteUByteMember (PyObject * object , PyObject * offset , PyObject * value ) {
348
355
WriteCharMember (object , offset , value );
356
+ return value ;
349
357
}
350
358
351
- void WriteUShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
359
+ PyObject * WriteUShortMember (PyObject * object , PyObject * offset , PyObject * value ) {
352
360
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned short );
361
+ return value ;
353
362
}
354
363
355
- void WriteUIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
364
+ PyObject * WriteUIntMember (PyObject * object , PyObject * offset , PyObject * value ) {
356
365
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned int );
366
+ return value ;
357
367
}
358
368
359
- void WriteULongMember (PyObject * object , PyObject * offset , PyObject * value ) {
369
+ PyObject * WriteULongMember (PyObject * object , PyObject * offset , PyObject * value ) {
360
370
WriteMember (object , offset , PyLong_AsUnsignedLong (value ), unsigned long );
371
+ return value ;
361
372
}
362
373
363
- void WriteBoolMember (PyObject * object , PyObject * offset , PyObject * value ) {
374
+ PyObject * WriteBoolMember (PyObject * object , PyObject * offset , PyObject * value ) {
364
375
WriteMember (object , offset , truffle_invoke (to_java (value ), "__bool__" ) == Py_True ? (char )1 : (char )0 , char );
376
+ return value ;
365
377
}
366
378
367
- void WriteObjectExMember (PyObject * object , PyObject * offset , PyObject * value ) {
379
+ PyObject * WriteObjectExMember (PyObject * object , PyObject * offset , PyObject * value ) {
368
380
if (value == NULL ) {
369
381
PyErr_SetString (PyExc_ValueError , "member must not be NULL" );
382
+ return NULL ;
370
383
} else {
371
384
WriteMember (object , offset , value , PyObject * );
385
+ return value ;
372
386
}
373
387
}
374
388
375
- void WriteLongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
389
+ PyObject * WriteLongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
376
390
WriteMember (object , offset , value , long long );
391
+ return value ;
377
392
}
378
393
379
- void WriteULongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
394
+ PyObject * WriteULongLongMember (PyObject * object , PyObject * offset , PyObject * value ) {
380
395
WriteMember (object , offset , value , unsigned long long);
396
+ return value ;
381
397
}
382
398
383
- void WritePySSizeT (PyObject * object , PyObject * offset , PyObject * value ) {
399
+ PyObject * WritePySSizeT (PyObject * object , PyObject * offset , PyObject * value ) {
384
400
WriteMember (object , offset , value , Py_ssize_t );
401
+ return value ;
385
402
}
386
403
387
404
PyObject marker_struct = {
0 commit comments