44 #ifndef Included_StringUtil
45 #define Included_StringUtil
59 static const char *
lastPos(
const char *needle,
sizeB_t needleLen,
const char *haystack,
sizeB_t haystackLen);
67 static char packByte(
const char *String);
72 static size_t validateSet(
const char *String,
sizeB_t Length,
const char *Set,
int Modulus,
bool Hex);
74 static int valSet(
const char *String,
sizeB_t Length,
const char *Set,
int Modulus,
size_t *PackedSize );
75 static const char *
memcpbrk(
const char *String,
const char *Set,
sizeB_t Length);
83 static size_t memPos(
const char *
string,
sizeB_t length,
char target);
93 static const char *
locateSeparator(
const char *start,
const char *end,
const char *sepData,
sizeB_t sepLength);
size_t RexxEntry StringLength(RexxThreadContext *c, RexxStringObject s)
static void unpackNibble(int Val, char *p)
static RexxInteger * posRexx(const char *stringData, sizeB_t length, RexxString *needle, RexxInteger *pstart, RexxInteger *range)
static RexxString * packHex(const char *String, sizeB_t StringLength)
static RexxInteger * wordIndex(const char *data, sizeB_t length, RexxInteger *position)
static size_t memPos(const char *string, sizeB_t length, char target)
static const char * memcpbrk(const char *String, const char *Set, sizeB_t Length)
static char packByte2(const char *Byte)
static sizeB_t caselessLastPos(const char *stringData, sizeB_t haystackLen, RexxString *needle, sizeB_t _start, sizeB_t range)
static void skipNonBlanks(const char **String, sizeB_t *StringLength)
static RexxString * substr(const char *, sizeB_t, RexxInteger *, RexxInteger *, RexxString *)
static RexxObject * dataType(RexxString *String, char Option)
static const char * locateSeparator(const char *start, const char *end, const char *sepData, sizeB_t sepLength)
static size_t caselessCountStr(const char *hayStack, sizeB_t hayStackLength, RexxString *needle)
static char packNibble(const char *String)
static RexxString * word(const char *data, sizeB_t length, RexxInteger *position)
static void skipBlanks(const char **String, sizeB_t *StringLength)
static RexxInteger * wordPos(const char *data, sizeB_t length, RexxString *phrase, RexxInteger *pstart)
static sizeB_t lastPos(const char *stringData, sizeB_t hastackLen, RexxString *needle, sizeB_t _start, sizeB_t _range)
static bool matchCharacter(char ch, const char *charSet, sizeB_t len)
static RexxInteger * verify(const char *data, sizeB_t stringLen, RexxString *ref, RexxString *option, RexxInteger *_start, RexxInteger *range)
static RexxInteger * wordLength(const char *data, sizeB_t length, RexxInteger *position)
static sizeB_t chGetSm(char *Destination, const char *Source, sizeB_t Length, sizeB_t Count, const char *Set, sizeB_t *ScannedSize)
static RexxInteger * caselessWordPos(const char *data, sizeB_t length, RexxString *phrase, RexxInteger *pstart)
static RexxArray * subWords(const char *data, sizeB_t length, RexxInteger *position, RexxInteger *plength)
static size_t countStr(const char *hayStack, sizeB_t hayStackLength, RexxString *needle)
static int valSet(const char *String, sizeB_t Length, const char *Set, int Modulus, size_t *PackedSize)
static int hexDigitToInt(char ch)
static size_t validateSet(const char *String, sizeB_t Length, const char *Set, int Modulus, bool Hex)
static RexxArray * words(const char *data, sizeB_t length)
static char packByte(const char *String)
static sizeB_t pos(const char *stringData, sizeB_t haystack_length, RexxString *needle, sizeB_t _start, sizeB_t _range)
static RexxString * subWord(const char *data, sizeB_t length, RexxInteger *position, RexxInteger *plength)
static size_t wordCount(const char *String, sizeB_t StringLength)
static sizeB_t nextWord(const char **String, sizeB_t *StringLength, const char **NextString)
static RexxInteger * lastPosRexx(const char *stringData, sizeB_t haystackLen, RexxString *needle, RexxInteger *_start, RexxInteger *_range)
static sizeB_t caselessPos(const char *stringData, sizeB_t haystack_length, RexxString *needle, sizeB_t _start, sizeB_t _range)
static int caselessCompare(const char *, const char *, sizeB_t)
static RexxArray * makearray(const char *start, sizeB_t length, RexxString *separator)
static RexxString * subchar(const char *stringData, sizeB_t stringLength, RexxInteger *positionArg)