@@ -59,34 +59,25 @@ typedef uintptr_t uint_farptr_t;
59
59
60
60
inline const void * memchr_P (const void * s , int val , size_t len ) { return memchr (s , val , len ); }
61
61
inline int memcmp_P (const void * s1 , const void * s2 , size_t len ) { return memcmp (s1 , s2 , len ); }
62
- inline void * memccpy_P (void * dest , const void * src , int val , size_t len ) { return memccpy (dest , src , val , len ); }
63
62
inline void * memcpy_P (void * dest , const void * src , size_t n ) { return memcpy (dest , src , n ); }
64
- inline void * memmem_P (const void * s1 , size_t len1 , const void * s2 , size_t len2 ) { return memmem (s1 , len1 , s2 , len2 ); }
65
- inline const void * memrchr_P (const void * src , int val , size_t len ) { return memrchr (src , val , len ); }
66
63
inline char * strcat_P (char * dest , const char * src ) { return strcat (dest , src ); }
67
64
inline const char * strchr_P (const char * s , int val ) { return strchr (s , val ); }
68
- inline const char * strchrnul_P (const char * s , int c ) { return strchrnul (s , c ); }
69
65
inline int strcmp_P (const char * s1 , const char * s2 ) { return strcmp (s1 , s2 ); }
70
66
inline char * strcpy_P (char * dest , const char * src ) { return strcpy (dest , src ); }
71
- inline int strcasecmp_P (const char * s1 , const char * s2 ) { return strcasecmp (s1 , s2 ); }
72
- inline char * strcasestr_P (const char * s1 , const char * s2 ) { return (char * )strcasestr (s1 , s2 ); }
73
67
inline size_t strcspn_P (const char * s , const char * reject ) { return strcspn (s , reject ); }
74
68
// strlcat and strlcpy are AVR-specific and not entirely trivial to reimplement using strncat it seems
75
69
//inline size_t strlcat_P(char *dst, const char *src, size_t siz) { return strlcat(dst, src, siz); }
76
70
//inline size_t strlcpy_P(char *dst, const char *src, size_t siz) { return strlcpy(dst, src, siz); }
77
71
//inline size_t strlcat_PF(char *dst, uint_farptr_t src, size_t n) { return strlcat(dst, (const char*)src, n); }
78
72
//inline size_t strlcpy_PF(char *dst, uint_farptr_t src, size_t siz) { return strlcpy(dst, (const char*)src, siz); }
79
73
inline int strncmp_P (const char * s1 , const char * s2 , size_t n ) { return strncmp (s1 , s2 , n ); }
80
- inline int strncasecmp_P (const char * s1 , const char * s2 , size_t n ) { return strncasecmp (s1 , s2 , n ); }
81
74
inline char * strncat_P (char * dest , const char * src , size_t len ) { return strncat (dest , src , len ); }
82
75
inline char * strncpy_P (char * dest , const char * src , size_t n ) { return strncpy (dest , src , n ); }
83
76
inline char * strpbrk_P (const char * s , const char * accept ) { return (char * )strpbrk (s , accept ); }
84
77
inline const char * strrchr_P (const char * s , int val ) { return strrchr (s , val ); }
85
- inline char * strsep_P (char * * sp , const char * delim ) { return strsep (sp , delim ); }
86
78
inline size_t strspn_P (const char * s , const char * accept ) { return strspn (s , accept ); }
87
79
inline char * strstr_P (const char * s1 , const char * s2 ) { return (char * )strstr (s1 , s2 ); }
88
80
inline char * strtok_P (char * s , const char * delim ) { return strtok (s , delim ); }
89
- inline char * strtok_r_P (char * string , const char * delim , char * * last ) { return strtok_r (string , delim , last ); }
90
81
inline size_t strlen_PF (uint_farptr_t s ) { return strlen ((char * )s ); }
91
82
inline size_t strnlen_P (uint_farptr_t s , size_t len ) { return strnlen ((char * )s , len ); }
92
83
inline void * memcpy_PF (void * dest , uint_farptr_t src , size_t n ) { return memcpy (dest , (const char * )src , n ); }
@@ -96,12 +87,25 @@ inline char *strcat_PF(char *dst, uint_farptr_t src) { return strcat(dst, (const
96
87
inline char * strncat_PF (char * dst , uint_farptr_t src , size_t n ) { return strncat (dst , (const char * )src , n ); }
97
88
inline int strcmp_PF (const char * s1 , uint_farptr_t s2 ) { return strcmp (s1 , (const char * )s2 ); }
98
89
inline int strncmp_PF (const char * s1 , uint_farptr_t s2 , size_t n ) { return strncmp (s1 , (const char * )s2 , n ); }
99
- inline int strcasecmp_PF (const char * s1 , uint_farptr_t s2 ) { return strcasecmp (s1 , (const char * )s2 ); }
100
- inline int strncasecmp_PF (const char * s1 , uint_farptr_t s2 , size_t n ) { return strncasecmp (s1 , (const char * )s2 , n ); }
101
90
inline char * strstr_PF (const char * s1 , uint_farptr_t s2 ) { return (char * )strstr (s1 , (const char * )s2 ); }
102
91
inline int memcmp_PF (const void * s1 , uint_farptr_t s2 , size_t len ) { return memcmp (s1 , (const char * )s2 , len ); }
103
92
inline size_t strlen_P (const char * src ) { return strlen (src ); }
104
93
94
+ // TODO: These functions cannot be found on the CYGWIN test build for
95
+ // some reason, so disable them for now. Most of these are less common
96
+ // and/or GNU-specific addons anyway
97
+ //inline void *memccpy_P(void *dest, const void *src, int val, size_t len) { return memccpy(dest, src, val, len); }
98
+ //inline void *memmem_P(const void *s1, size_t len1, const void *s2, size_t len2) { return memmem(s1, len1, s2, len2); }
99
+ //inline const void *memrchr_P(const void *src, int val, size_t len) { return memrchr(src, val, len); }
100
+ //inline const char *strchrnul_P(const char *s, int c) { return strchrnul(s, c); }
101
+ //inline int strcasecmp_P(const char *s1, const char *s2) { return strcasecmp(s1, s2); }
102
+ //inline char *strcasestr_P(const char *s1, const char *s2) { return (char*)strcasestr(s1, s2); }
103
+ //inline int strncasecmp_P(const char *s1, const char *s2, size_t n) { return strncasecmp(s1, s2, n); }
104
+ //inline char *strsep_P(char **sp, const char *delim) { return strsep(sp, delim); }
105
+ //inline char *strtok_r_P(char *string, const char *delim, char **last) { return strtok_r(string, delim, last); }
106
+ //inline int strcasecmp_PF(const char *s1, uint_farptr_t s2) { return strcasecmp(s1, (const char*)s2); }
107
+ //inline int strncasecmp_PF(const char *s1, uint_farptr_t s2, size_t n) { return strncasecmp(s1, (const char*)s2, n); }
108
+
105
109
// These are normally defined by stdio.h on AVR, but we cannot override that
106
110
// include file (at least not without no longer being able to include the
107
111
// original as well), so just define these here. It seems likely that any
0 commit comments