Lines Matching refs:src
27 #define SECUREC_SMALL_MEM_COPY(dest, src, count) do { \
28 if (SECUREC_ADDR_ALIGNED_8(dest) && SECUREC_ADDR_ALIGNED_8(src)) { \
32 *(unsigned char *)(dest) = *(const unsigned char *)(src); \
35 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 2); \
38 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 3); \
41 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 4); \
44 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 5); \
47 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 6); \
50 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 7); \
53 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 8); \
56 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 9); \
59 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 10); \
62 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 11); \
65 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 12); \
68 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 13); \
71 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 14); \
74 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 15); \
77 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 16); \
80 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 17); \
83 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 18); \
86 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 19); \
89 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 20); \
92 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 21); \
95 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 22); \
98 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 23); \
101 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 24); \
104 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 25); \
107 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 26); \
110 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 27); \
113 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 28); \
116 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 29); \
119 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 30); \
122 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 31); \
125 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 32); \
128 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 33); \
131 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 34); \
134 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 35); \
137 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 36); \
140 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 37); \
143 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 38); \
146 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 39); \
149 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 40); \
152 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 41); \
155 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 42); \
158 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 43); \
161 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 44); \
164 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 45); \
167 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 46); \
170 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 47); \
173 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 48); \
176 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 49); \
179 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 50); \
182 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 51); \
185 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 52); \
188 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 53); \
191 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 54); \
194 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 55); \
197 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 56); \
200 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 57); \
203 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 58); \
206 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 59); \
209 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 60); \
212 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 61); \
215 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 62); \
218 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 63); \
221 SECUREC_COPY_VALUE_BY_STRUCT((dest), (src), 64); \
229 const unsigned char *tmpSrc_ = (const unsigned char *)(src); \
433 #define SECUREC_MEMCPY_OPT(dest, src, count) do { \
435 SECUREC_MEMCPY_WARP_OPT((dest), (src), (count)); \
437 SECUREC_SMALL_MEM_COPY((dest), (src), (count)); \
445 SECUREC_INLINE errno_t SecMemcpyError(void *dest, size_t destMax, const void *src, size_t count)
451 if (dest == NULL || src == NULL) {
464 if (SECUREC_MEMORY_IS_OVERLAP(dest, src, count)) {
469 /* Count is 0 or dest equal src also ret EOK */
478 #define SECUREC_MEMCPY_PARAM_OK(dest, destMax, src, count) (SECUREC_LIKELY((count) <= (destMax) && \
479 (dest) != NULL && (src) != NULL && \
480 (count) > 0 && SECUREC_MEMORY_NO_OVERLAP((dest), (src), (count))))
482 #define SECUREC_MEMCPY_PARAM_OK(dest, destMax, src, count) (SECUREC_LIKELY((count) <= (destMax) && \
483 (dest) != NULL && (src) != NULL && (destMax) <= SECUREC_MEM_MAX_LEN && \
484 (count) > 0 && SECUREC_MEMORY_NO_OVERLAP((dest), (src), (count))))
489 * The memcpy_s function copies n characters from the object pointed to by src into the object pointed to by dest
494 * src Buffer to copy from.
503 * EINVAL_AND_RESET dest != NULL and src is NULL and destMax != 0 and destMax <= SECUREC_MEM_MAX_LEN
506 * and dest != NULL and src != NULL
509 * and src != NULL and dest != src
515 errno_t memcpy_s(void *dest, size_t destMax, const void *src, size_t count)
517 if (SECUREC_MEMCPY_PARAM_OK(dest, destMax, src, count)) {
518 SECUREC_MEMCPY_WARP_OPT(dest, src, count);
522 return SecMemcpyError(dest, destMax, src, count);
533 errno_t memcpy_sOptAsm(void *dest, size_t destMax, const void *src, size_t count)
535 if (SECUREC_MEMCPY_PARAM_OK(dest, destMax, src, count)) {
536 SECUREC_MEMCPY_OPT(dest, src, count);
540 return SecMemcpyError(dest, destMax, src, count);
544 errno_t memcpy_sOptTc(void *dest, size_t destMax, const void *src, size_t count)
546 if (SECUREC_LIKELY(count <= destMax && dest != NULL && src != NULL && \
547 count > 0 && SECUREC_MEMORY_NO_OVERLAP((dest), (src), (count)))) {
548 SECUREC_MEMCPY_OPT(dest, src, count);
552 return SecMemcpyError(dest, destMax, src, count);