@@ -119,6 +119,34 @@ static dispatch_queue_t __ ## PREFIX ## Queue(void) { \
119
119
#define CF_RETAIN_BALANCED_ELSEWHERE (obj , identified_location ) do { } while (0)
120
120
#endif
121
121
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
+
122
150
#if TARGET_OS_WIN32
123
151
// Compatibility with boolean.h
124
152
#if defined(__x86_64__ )
@@ -171,33 +199,6 @@ void OSMemoryBarrier();
171
199
typedef unsigned long fd_mask ;
172
200
#endif
173
201
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
201
202
202
203
#if !TARGET_OS_CYGWIN && !TARGET_OS_BSD
203
204
#define issetugid () 0
@@ -355,32 +356,6 @@ CF_INLINE long long llabs(long long v) {
355
356
356
357
#define fprintf_l (a ,locale ,b ,...) fprintf(a, b, __VA_ARGS__)
357
358
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
-
384
359
#define sleep (x ) Sleep(1000*x)
385
360
386
361
#define issetugid () 0
0 commit comments