|
@@ -22,6 +22,33 @@
|
|
|
*
|
|
|
***************************************************************************/
|
|
|
|
|
|
+#include "curl_setup.h"
|
|
|
+
|
|
|
+#ifdef CURL_DOES_CONVERSIONS
|
|
|
+
|
|
|
+/*
|
|
|
+ * Uppercase macro versions of ANSI/ISO is*() functions/macros which
|
|
|
+ * avoid negative number inputs with argument byte codes > 127.
|
|
|
+ *
|
|
|
+ * For non-ASCII platforms the C library character classification routines
|
|
|
+ * are used despite being locale-dependent, because this is better than
|
|
|
+ * not to work at all.
|
|
|
+ */
|
|
|
+#include <ctype.h>
|
|
|
+
|
|
|
+#define ISSPACE(x) (isspace((int) ((unsigned char)x)))
|
|
|
+#define ISDIGIT(x) (isdigit((int) ((unsigned char)x)))
|
|
|
+#define ISALNUM(x) (isalnum((int) ((unsigned char)x)))
|
|
|
+#define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
|
|
|
+#define ISGRAPH(x) (isgraph((int) ((unsigned char)x)))
|
|
|
+#define ISALPHA(x) (isalpha((int) ((unsigned char)x)))
|
|
|
+#define ISPRINT(x) (isprint((int) ((unsigned char)x)))
|
|
|
+#define ISUPPER(x) (isupper((int) ((unsigned char)x)))
|
|
|
+#define ISLOWER(x) (islower((int) ((unsigned char)x)))
|
|
|
+#define ISASCII(x) (isascii((int) ((unsigned char)x)))
|
|
|
+
|
|
|
+#else
|
|
|
+
|
|
|
int Curl_isspace(int c);
|
|
|
int Curl_isdigit(int c);
|
|
|
int Curl_isalnum(int c);
|
|
@@ -42,6 +69,9 @@ int Curl_islower(int c);
|
|
|
#define ISUPPER(x) (Curl_isupper((int) ((unsigned char)x)))
|
|
|
#define ISLOWER(x) (Curl_islower((int) ((unsigned char)x)))
|
|
|
#define ISASCII(x) (((x) >= 0) && ((x) <= 0x80))
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
#define ISBLANK(x) (int)((((unsigned char)x) == ' ') || \
|
|
|
(((unsigned char)x) == '\t'))
|
|
|
|