MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / xdr_decfloat_hyper

Function xdr_decfloat_hyper

src/common/xdr.cpp:394–423  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

392*/
393
394static bool_t xdr_decfloat_hyper(xdr_t* xdrs, void* dec)
395{
396 SLONG temp_long[2];
397
398 switch (xdrs->x_op)
399 {
400 case XDR_ENCODE:
401 memcpy(temp_long, dec, sizeof temp_long);
402 if (PUTLONG(xdrs, &temp_long[1]) &&
403 PUTLONG(xdrs, &temp_long[0]))
404 {
405 return TRUE;
406 }
407 return FALSE;
408
409 case XDR_DECODE:
410 if (!GETLONG(xdrs, &temp_long[1]) ||
411 !GETLONG(xdrs, &temp_long[0]))
412 {
413 return FALSE;
414 }
415 memcpy(dec, temp_long, sizeof temp_long);
416 return TRUE;
417
418 case XDR_FREE:
419 return TRUE;
420 }
421 // TMN: added compiler silencier return FALSE.
422 return FALSE;
423}
424
425
426bool_t xdr_dec64(xdr_t* xdrs, Firebird::Decimal64* ip)

Callers 2

xdr_dec64Function · 0.85
xdr_dec128Function · 0.85

Calls 2

PUTLONGFunction · 0.85
GETLONGFunction · 0.85

Tested by

no test coverage detected