C macht Einem das Leben nicht wirklich einfach.
Das mit den Booleans ist schon krankhaft, aber wer kommt auf die Idee mit dem "register"?
Code:
typedef void (*sort_func_t)(void *, size_t, register size_t, compare_func_t TSRMLS_DC);
Register heißt ja nun, daß dieser eine Parameter, welche mitten drin liegt, in die Register soll, obwohl alle anderen Parameter auf dem Stack liegen.
Delphi-Quellcode:
type
sort_func_t = procedure(pDest: Pointer; dIndex: NativeUInt; register bucket_size: NativeUInt; proc: compare_func_t {$I TSRMLS_DC}); cdecl;
Das davor geht ja leider nicht, da es in cdel keine Register gibt und mit Registern von Links nach rechts sieht es irgendwie doof aus und der Code wird inkompatibel.
Delphi-Quellcode:
type
sort_func_t = procedure(bucket_size: NativeUInt; dummy, dummy2: Integer {$I TSRMLS_DC}; proc: compare_func_t; dIndex: NativeUInt; pDest: Pointer);