@@ -119,6 +119,34 @@ static dispatch_queue_t __ ## PREFIX ## Queue(void) { \
119119#define CF_RETAIN_BALANCED_ELSEWHERE (obj , identified_location ) do { } while (0)
120120#endif
121121
122+ #if (TARGET_OS_LINUX && !TARGET_OS_ANDROID && !TARGET_OS_CYGWIN ) || TARGET_OS_WIN32
123+ CF_INLINE size_t
124+ strlcpy (char * dst , const char * src , size_t maxlen ) {
125+ const size_t srclen = strlen (src );
126+ if (srclen < maxlen ) {
127+ memcpy (dst , src , srclen + 1 );
128+ } else if (maxlen != 0 ) {
129+ memcpy (dst , src , maxlen - 1 );
130+ dst [maxlen - 1 ] = '\0' ;
131+ }
132+ return srclen ;
133+ }
134+
135+ CF_INLINE size_t
136+ strlcat (char * dst , const char * src , size_t maxlen ) {
137+ const size_t srclen = strlen (src );
138+ const size_t dstlen = strnlen (dst , maxlen );
139+ if (dstlen == maxlen ) return maxlen + srclen ;
140+ if (srclen < maxlen - dstlen ) {
141+ memcpy (dst + dstlen , src , srclen + 1 );
142+ } else {
143+ memcpy (dst + dstlen , src , maxlen - dstlen - 1 );
144+ dst [maxlen - 1 ] = '\0' ;
145+ }
146+ return dstlen + srclen ;
147+ }
148+ #endif
149+
122150#if TARGET_OS_WIN32
123151// Compatibility with boolean.h
124152#if defined(__x86_64__ )
@@ -171,33 +199,6 @@ void OSMemoryBarrier();
171199typedef unsigned long fd_mask ;
172200#endif
173201
174- #if !TARGET_OS_ANDROID && !TARGET_OS_CYGWIN && !TARGET_OS_BSD
175- CF_INLINE size_t
176- strlcpy (char * dst , const char * src , size_t maxlen ) {
177- const size_t srclen = strlen (src );
178- if (srclen < maxlen ) {
179- memcpy (dst , src , srclen + 1 );
180- } else if (maxlen != 0 ) {
181- memcpy (dst , src , maxlen - 1 );
182- dst [maxlen - 1 ] = '\0' ;
183- }
184- return srclen ;
185- }
186-
187- CF_INLINE size_t
188- strlcat (char * dst , const char * src , size_t maxlen ) {
189- const size_t srclen = strlen (src );
190- const size_t dstlen = strnlen (dst , maxlen );
191- if (dstlen == maxlen ) return maxlen + srclen ;
192- if (srclen < maxlen - dstlen ) {
193- memcpy (dst + dstlen , src , srclen + 1 );
194- } else {
195- memcpy (dst + dstlen , src , maxlen - dstlen - 1 );
196- dst [maxlen - 1 ] = '\0' ;
197- }
198- return dstlen + srclen ;
199- }
200- #endif
201202
202203#if !TARGET_OS_CYGWIN && !TARGET_OS_BSD
203204#define issetugid () 0
@@ -355,32 +356,6 @@ CF_INLINE long long llabs(long long v) {
355356
356357#define fprintf_l (a ,locale ,b ,...) fprintf(a, b, __VA_ARGS__)
357358
358- CF_INLINE size_t
359- strlcpy (char * dst , const char * src , size_t maxlen ) {
360- const size_t srclen = strlen (src );
361- if (srclen < maxlen ) {
362- memcpy (dst , src , srclen + 1 );
363- } else if (maxlen != 0 ) {
364- memcpy (dst , src , maxlen - 1 );
365- dst [maxlen - 1 ] = '\0' ;
366- }
367- return srclen ;
368- }
369-
370- CF_INLINE size_t
371- strlcat (char * dst , const char * src , size_t maxlen ) {
372- const size_t srclen = strlen (src );
373- const size_t dstlen = strnlen (dst , maxlen );
374- if (dstlen == maxlen ) return maxlen + srclen ;
375- if (srclen < maxlen - dstlen ) {
376- memcpy (dst + dstlen , src , srclen + 1 );
377- } else {
378- memcpy (dst + dstlen , src , maxlen - dstlen - 1 );
379- dst [maxlen - 1 ] = '\0' ;
380- }
381- return dstlen + srclen ;
382- }
383-
384359#define sleep (x ) Sleep(1000*x)
385360
386361#define issetugid () 0
0 commit comments