* (bug 3318) Restrict color escape characters to alphanumerics

This commit is contained in:
Tim Angus 2007-09-21 12:33:50 +00:00
parent da29118ae0
commit 60260f1c60
2 changed files with 17 additions and 1 deletions

View file

@ -60,6 +60,22 @@ typedef char * va_list;
#define LONG_MAX 2147483647L /* maximum (signed) long value */ #define LONG_MAX 2147483647L /* maximum (signed) long value */
#define ULONG_MAX 0xffffffffUL /* maximum unsigned long value */ #define ULONG_MAX 0xffffffffUL /* maximum unsigned long value */
#define isalnum(c) (isalpha(c) || isdigit(c))
#define isalpha(c) (isupper(c) || islower(c))
#define isascii(c) ((c) > 0 && (c) <= 0x7f)
#define iscntrl(c) (((c) >= 0) && (((c) <= 0x1f) || ((c) == 0x7f)))
#define isdigit(c) ((c) >= '0' && (c) <= '9')
#define isgraph(c) ((c) != ' ' && isprint(c)
#define islower(c) ((c) >= 'a' && (c) <= 'z')
#define isprint(c) ((c) >= ' ' && (c) <= '~')
#define ispunct(c) (((c) > ' ' && (c) <= '~') && !isalnum(c))
#define isspace(c) ((c) == ' ' || (c) == '\f' || (c) == '\n' || (c) == '\r' || \
(c) == '\t' || (c) == '\v')
#define isupper(c) ((c) >= 'A' && (c) <= 'Z')
#define isxdigit(c) (isxupper(c) || isxlower(c))
#define isxlower(c) (isdigit(c) || (c >= 'a' && c <= 'f'))
#define isxupper(c) (isdigit(c) || (c >= 'A' && c <= 'F'))
// Misc functions // Misc functions
typedef int cmp_t(const void *, const void *); typedef int cmp_t(const void *, const void *);
void qsort(void *a, size_t n, size_t es, cmp_t *cmp); void qsort(void *a, size_t n, size_t es, cmp_t *cmp);

View file

@ -330,7 +330,7 @@ extern vec4_t colorMdGrey;
extern vec4_t colorDkGrey; extern vec4_t colorDkGrey;
#define Q_COLOR_ESCAPE '^' #define Q_COLOR_ESCAPE '^'
#define Q_IsColorString(p) ( p && *(p) == Q_COLOR_ESCAPE && *((p)+1) && *((p)+1) != Q_COLOR_ESCAPE ) #define Q_IsColorString(p) ( p && *(p) == Q_COLOR_ESCAPE && *((p)+1) && isalnum(*((p)+1)) ) // ^[0-9a-zA-Z]
#define COLOR_BLACK '0' #define COLOR_BLACK '0'
#define COLOR_RED '1' #define COLOR_RED '1'