MCPcopy Create free account
hub / github.com/eggert/tz / size_product

Function size_product

zic.c:583–597  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

581 size_overflow();
582}
583
584ATTRIBUTE_PURE_114833_HACK
585static ptrdiff_t
586size_product(ptrdiff_t nitems, ptrdiff_t itemsize)
587{
588#ifdef ckd_mul
589 ptrdiff_t product;
590 if (!ckd_mul(&product, nitems, itemsize) && product <= INDEX_MAX)
591 return product;
592#else
593 ptrdiff_t nitems_max = INDEX_MAX / itemsize;
594 if (nitems <= nitems_max)
595 return nitems * itemsize;
596#endif
597 size_overflow();
598}
599
600ATTRIBUTE_PURE_114833_HACK

Callers 2

relnameFunction · 0.85
writezoneFunction · 0.85

Calls 1

size_overflowFunction · 0.70

Tested by

no test coverage detected