#if !defined(MAGICKCORE_OPENMP_SUPPORT) || (MAGICKCORE_QUANTUM_DEPTH <= 8)
(void) memcpy(destination,source,(size_t) number_pixels*sizeof(*source));
#else
- register MagickSizeType
- i;
+ {
+ register MagickSizeType
+ i;
- #pragma omp parallel for
- for (i=0; i < number_pixels; i++)
- destination[i]=source[i];
+ if ((number_pixels*sizeof(*source)) < MagickMaxBufferExtent)
+ {
+ (void) memcpy(destination,source,(size_t) number_pixels*
+ sizeof(*source));
+ return;
+ }
+ #pragma omp parallel for
+ for (i=0; i < number_pixels; i++)
+ destination[i]=source[i];
+ }
#endif
}