/************************************************************************/ /* */ /* Given a string value and a string defining a valid values, this */ /* routine returns true or false depending on whether the string is in */ /* range or not. */ /* */ /* Inputs: value string to be tested */ /* range Range string */ /* */ /* Output: return value TRUE or FALSE */ /* */ /* Created 23 November 1998 by CJL */ /* */ /************************************************************************/ #include #include #include "mk4_vex.h" #include "mk4_util.h" #define TRUE 1 #define FALSE 0 #define MAXRNG 20 int check_strrange (char *value, char *range) { int i, len, ncolon, nrng; int start, end; int cpos[MAXRNG-1]; char rng_fld[128]; char *ptr; /* Count colons */ len = strlen (range); if (len == 0) return (TRUE); ptr = range; ncolon = 0; for (i=0; i= (MAXRNG-1)) { msg ("Maximum number of range fields %d exceeded", 2, MAXRNG); return (-1); } cpos[ncolon] = i; ncolon++; } } nrng = ncolon + 1; /* Loop over fields */ for (i=0; i