MCPcopy Create free account
hub / github.com/HaxeFoundation/hxcpp / getByteData

Function getByteData

include/hx/CFFI.h:329–358  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

327};
328
329inline CffiBytes getByteData(value inValue)
330{
331 static field bField = 0;
332 static field lengthField = 0;
333 if (bField==0)
334 {
335 bField = val_id("b");
336 lengthField = val_id("length");
337 }
338
339 if (val_is_object(inValue))
340 {
341 value b = val_field(inValue, bField);
342 value len = val_field(inValue, lengthField);
343 if (val_is_string(b) && val_is_int(len))
344 return CffiBytes( (unsigned char *)val_string(b), val_int(len) );
345 if (val_is_buffer(b) && val_is_int(len))
346 return CffiBytes( (unsigned char *)buffer_data(val_to_buffer(b)), val_int(len) );
347 }
348 else if (val_is_buffer(inValue))
349 {
350 value len = val_field(inValue, lengthField);
351 if (val_is_int(len))
352 {
353 buffer b = val_to_buffer(inValue);
354 return CffiBytes( (unsigned char *)buffer_data(b), val_int(len) );
355 }
356 }
357 return CffiBytes();
358}
359
360inline bool resizeByteData(value inValue, int inNewLen)
361{

Callers 2

byteDataSizeFunction · 0.85
byteDataByteFunction · 0.85

Calls 11

val_is_objectFunction · 0.85
val_is_stringFunction · 0.85
val_is_intFunction · 0.85
CffiBytesClass · 0.85
val_stringFunction · 0.85
val_is_bufferFunction · 0.85
buffer_dataFunction · 0.85
val_to_bufferFunction · 0.85
val_idFunction · 0.70
val_fieldFunction · 0.70
val_intFunction · 0.70

Tested by

no test coverage detected