File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1859,11 +1859,17 @@ typedef union {
18591859#define KMAX (M , m ) ((M) > (m) ? (M) : (m))
18601860#define KMIN (m , M ) ((m) < (M) ? (m) : (M))
18611861
1862+ #if defined(__GNUC__ ) && (__GNUC__ >= 5 )
1863+ # define CF_STRNLEN (s , n ) __builtin_strnlen((s), (n))
1864+ #else
1865+ # define CF_STRNLEN (s , n ) strnlen((s), (n))
1866+ #endif
1867+
18621868#define StrCopy (_dest , _src , _max ) \
18631869({ \
18641870 size_t __max = (_max); \
18651871 if (__max > 0) { \
1866- size_t _len = __builtin_strnlen ((_src), __max - 1); \
1872+ size_t _len = CF_STRNLEN ((_src), __max - 1); \
18671873 __builtin_memcpy((_dest), (_src), _len); \
18681874 (_dest)[_len] = '\0'; \
18691875 } else { \
Original file line number Diff line number Diff line change @@ -1594,11 +1594,17 @@ typedef union {
15941594#define KMAX (M , m ) ((M) > (m) ? (M) : (m))
15951595#define KMIN (m , M ) ((m) < (M) ? (m) : (M))
15961596
1597+ #if defined(__GNUC__ ) && (__GNUC__ >= 5 )
1598+ # define CF_STRNLEN (s , n ) __builtin_strnlen((s), (n))
1599+ #else
1600+ # define CF_STRNLEN (s , n ) strnlen((s), (n))
1601+ #endif
1602+
15971603#define StrCopy (_dest , _src , _max ) \
15981604({ \
15991605 size_t __max = (_max); \
16001606 if (__max > 0) { \
1601- size_t _len = __builtin_strnlen ((_src), __max - 1); \
1607+ size_t _len = CF_STRNLEN ((_src), __max - 1); \
16021608 __builtin_memcpy((_dest), (_src), _len); \
16031609 (_dest)[_len] = '\0'; \
16041610 } else { \
Original file line number Diff line number Diff line change @@ -1759,11 +1759,17 @@ typedef union {
17591759#define KMAX (M , m ) ((M) > (m) ? (M) : (m))
17601760#define KMIN (m , M ) ((m) < (M) ? (m) : (M))
17611761
1762+ #if defined(__GNUC__ ) && (__GNUC__ >= 5 )
1763+ # define CF_STRNLEN (s , n ) __builtin_strnlen((s), (n))
1764+ #else
1765+ # define CF_STRNLEN (s , n ) strnlen((s), (n))
1766+ #endif
1767+
17621768#define StrCopy (_dest , _src , _max ) \
17631769({ \
17641770 size_t __max = (_max); \
17651771 if (__max > 0) { \
1766- size_t _len = __builtin_strnlen ((_src), __max - 1); \
1772+ size_t _len = CF_STRNLEN ((_src), __max - 1); \
17671773 __builtin_memcpy((_dest), (_src), _len); \
17681774 (_dest)[_len] = '\0'; \
17691775 } else { \
Original file line number Diff line number Diff line change @@ -3074,11 +3074,17 @@ typedef union {
30743074#define KMAX (M , m ) ((M) > (m) ? (M) : (m))
30753075#define KMIN (m , M ) ((m) < (M) ? (m) : (M))
30763076
3077+ #if defined(__GNUC__ ) && (__GNUC__ >= 5 )
3078+ # define CF_STRNLEN (s , n ) __builtin_strnlen((s), (n))
3079+ #else
3080+ # define CF_STRNLEN (s , n ) strnlen((s), (n))
3081+ #endif
3082+
30773083#define StrCopy (_dest , _src , _max ) \
30783084({ \
30793085 size_t __max = (_max); \
30803086 if (__max > 0) { \
3081- size_t _len = __builtin_strnlen ((_src), __max - 1); \
3087+ size_t _len = CF_STRNLEN ((_src), __max - 1); \
30823088 __builtin_memcpy((_dest), (_src), _len); \
30833089 (_dest)[_len] = '\0'; \
30843090 } else { \
You can’t perform that action at this time.
0 commit comments