XBinder
Version 2.9.x
|
These functions are more secure versions of several of the character string functions available in the standard C run-time library. More...
Functions | |
EXTERNRT int | rtxStricmp (const char *str1, const char *str2) |
This is an implementation of the non-standard stricmp function. More... | |
EXTERNRT int | rtxStrnicmp (const char *str1, const char *str2, size_t count) |
This is an implementation of the non-standard stricmp function. More... | |
EXTERNRT char * | rtxStrcat (char *dest, size_t bufsiz, const char *src) |
This function concatanates the given string onto the string buffer. More... | |
EXTERNRT char * | rtxStrncat (char *dest, size_t bufsiz, const char *src, size_t nchars) |
This function concatanates the given number of characters from the given string onto the string buffer. More... | |
EXTERNRT char * | rtxStrcpy (char *dest, size_t bufsiz, const char *src) |
This function copies a null-terminated string to a target buffer. More... | |
EXTERNRT char * | rtxStrncpy (char *dest, size_t bufsiz, const char *src, size_t nchars) |
This function copies the given number of characters from a string to a target buffer. More... | |
EXTERNRT char * | rtxStrdup (OSCTXT *pctxt, const char *src) |
This function creates a duplicate copy of a null-terminated string. More... | |
EXTERNRT char * | rtxStrndup (OSCTXT *pctxt, const char *src, OSSIZE nchars) |
This function creates a duplicate copy of up to the given number of characters in a string. More... | |
EXTERNRT const char * | rtxStrJoin (char *dest, size_t bufsiz, const char *str1, const char *str2, const char *str3, const char *str4, const char *str5) |
This function concatanates up to five substrings together into a single string. More... | |
EXTERNRT char * | rtxStrDynJoin (OSCTXT *pctxt, const char *str1, const char *str2, const char *str3, const char *str4, const char *str5) |
This function allocates memory for and concatanates up to five substrings together into a single string. More... | |
EXTERNRT char * | rtxStrTrimEnd (char *s) |
This function trims whitespace from the end of a string. More... | |
EXTERNRT int | rtxValidateConstrainedStr (OSCTXT *pctxt, const char *pvalue, const char *pCharSet) |
This function will validate a constrained character string by checking to see if all the characters in the given string are contained within the constraining character set.More... | |
EXTERNRT int | rtxIntToCharStr (OSINT32 value, char *dest, size_t bufsiz, char padchar) |
This function converts a signed 32-bit integer into a character string. More... | |
EXTERNRT int | rtxUIntToCharStr (OSUINT32 value, char *dest, size_t bufsiz, char padchar) |
This function converts an unsigned 32-bit integer into a character string. More... | |
EXTERNRT int | rtxInt64ToCharStr (OSINT64 value, char *dest, size_t bufsiz, char padchar) |
This function converts a signed 64-bit integer into a character string. More... | |
EXTERNRT int | rtxUInt64ToCharStr (OSUINT64 value, char *dest, size_t bufsiz, char padchar) |
This function converts an unsigned 64-bit integer into a character string. More... | |
EXTERNRT int | rtxSizeToCharStr (size_t value, char *dest, size_t bufsiz, char padchar) |
This function converts a value of type 'size_t' into a character string. More... | |
EXTERNRT int | rtxHexCharsToBinCount (const char *hexstr, size_t nchars) |
This function returns a count of the number of bytes the would result from the conversion of a hexadecimal character string to binary. More... | |
EXTERNRT int | rtxHexCharsToBin (const char *hexstr, size_t nchars, OSOCTET *binbuf, size_t bufsize) |
This function converts the given hex string to binary. More... | |
EXTERNRT int | rtxCharStrToInt (const char *cstr, OSINT32 *pvalue) |
This function converts the given character string to a signed 32-bit integer value. More... | |
EXTERNRT int | rtxCharStrnToInt (const char *cstr, OSSIZE ndigits, OSINT32 *pvalue) |
This function converts up to the given number of digits from the given character string to a signed 32-bit integer value. More... | |
EXTERNRT int | rtxCharStrToInt8 (const char *cstr, OSINT8 *pvalue) |
This function converts the given character string to a signed 8-bit integer value. More... | |
EXTERNRT int | rtxCharStrToInt16 (const char *cstr, OSINT16 *pvalue) |
This function converts the given character string to a signed 16-bit integer value. More... | |
EXTERNRT int | rtxCharStrToInt64 (const char *cstr, OSINT64 *pvalue) |
This function converts the given character string to a signed 64-bit integer value. More... | |
EXTERNRT int | rtxCharStrToUInt (const char *cstr, OSUINT32 *pvalue) |
This function converts the given character string to an unsigned 32-bit integer value. More... | |
EXTERNRT int | rtxCharStrToUInt8 (const char *cstr, OSUINT8 *pvalue) |
This function converts the given character string to an unsigned 8-bit integer value. More... | |
EXTERNRT int | rtxCharStrToUInt16 (const char *cstr, OSUINT16 *pvalue) |
This function converts the given character string to an unsigned 16-bit integer value. More... | |
EXTERNRT int | rtxCharStrToUInt64 (const char *cstr, OSUINT64 *pvalue) |
This function converts the given character string to an unsigned 64-bit integer value. More... | |
These functions are more secure versions of several of the character string functions available in the standard C run-time library.
EXTERNRT int rtxCharStrnToInt | ( | const char * | cstr, |
OSSIZE | ndigits, | ||
OSINT32 * | pvalue | ||
) |
This function converts up to the given number of digits from the given character string to a signed 32-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until either the number of digits is reached or a non-digit character is encountered.
cstr | Character string to convert. |
ndigits | Number of digits to convert. |
pvalue | Pointer to integer value to receive converted data. |
EXTERNRT int rtxCharStrToInt | ( | const char * | cstr, |
OSINT32 * | pvalue | ||
) |
This function converts the given character string to a signed 32-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to integer value to receive converted data. |
EXTERNRT int rtxCharStrToInt16 | ( | const char * | cstr, |
OSINT16 * | pvalue | ||
) |
This function converts the given character string to a signed 16-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 16-bit integer value to receive converted data. |
EXTERNRT int rtxCharStrToInt64 | ( | const char * | cstr, |
OSINT64 * | pvalue | ||
) |
This function converts the given character string to a signed 64-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 64-bit integer value to receive converted data. |
EXTERNRT int rtxCharStrToInt8 | ( | const char * | cstr, |
OSINT8 * | pvalue | ||
) |
This function converts the given character string to a signed 8-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 8-bit integer value to receive converted data. |
EXTERNRT int rtxCharStrToUInt | ( | const char * | cstr, |
OSUINT32 * | pvalue | ||
) |
This function converts the given character string to an unsigned 32-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 32-bit unsigned integer value to receive converted data. |
EXTERNRT int rtxCharStrToUInt16 | ( | const char * | cstr, |
OSUINT16 * | pvalue | ||
) |
This function converts the given character string to an unsigned 16-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 16-bit unsigned integer value to receive converted data. |
EXTERNRT int rtxCharStrToUInt64 | ( | const char * | cstr, |
OSUINT64 * | pvalue | ||
) |
This function converts the given character string to an unsigned 64-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 64-bit unsigned integer value to receive converted data. |
EXTERNRT int rtxCharStrToUInt8 | ( | const char * | cstr, |
OSUINT8 * | pvalue | ||
) |
This function converts the given character string to an unsigned 8-bit integer value.
It consumes all leading whitespace before the digits start. It then comsumes digits until a non-digit character is encountered.
cstr | Character string to convert. |
pvalue | Pointer to 8-bit unsigned integer value to receive converted data. |
EXTERNRT int rtxHexCharsToBin | ( | const char * | hexstr, |
size_t | nchars, | ||
OSOCTET * | binbuf, | ||
size_t | bufsize | ||
) |
This function converts the given hex string to binary.
The result is stored in the given binary buffer. Any whitespace characters in the string are ignored.
hexstr | Hex character string to convert. |
nchars | Number of characters in string. If zero, characters are read up to null-terminator. |
binbuf | Buffer to hold converted binary data. |
bufsize | Size of the binary data buffer. |
EXTERNRT int rtxHexCharsToBinCount | ( | const char * | hexstr, |
size_t | nchars | ||
) |
This function returns a count of the number of bytes the would result from the conversion of a hexadecimal character string to binary.
Any whitespace characters in the string are ignored.
hexstr | Hex character string to convert. |
nchars | Number of characters in string. If zero, characters are read up to null-terminator. |
EXTERNRT int rtxInt64ToCharStr | ( | OSINT64 | value, |
char * | dest, | ||
size_t | bufsiz, | ||
char | padchar | ||
) |
This function converts a signed 64-bit integer into a character string.
It is similar to the C itoa
function.
value | Integer to convert. |
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
padchar | Left pad char, set to zero for no padding. |
EXTERNRT int rtxIntToCharStr | ( | OSINT32 | value, |
char * | dest, | ||
size_t | bufsiz, | ||
char | padchar | ||
) |
This function converts a signed 32-bit integer into a character string.
It is similar to the C itoa
function.
value | Integer to convert. |
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
padchar | Left pad char, set to zero for no padding. |
EXTERNRT int rtxSizeToCharStr | ( | size_t | value, |
char * | dest, | ||
size_t | bufsiz, | ||
char | padchar | ||
) |
This function converts a value of type 'size_t' into a character string.
It is similar to the C itoa
function.
value | Size value to convert. |
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
padchar | Left pad char, set to zero for no padding. |
EXTERNRT char* rtxStrcat | ( | char * | dest, |
size_t | bufsiz, | ||
const char * | src | ||
) |
This function concatanates the given string onto the string buffer.
It is similar to the C strcat
function except more secure because it checks for buffer overrun.
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
src | Pointer to null-terminated string to copy. |
EXTERNRT char* rtxStrcpy | ( | char * | dest, |
size_t | bufsiz, | ||
const char * | src | ||
) |
This function copies a null-terminated string to a target buffer.
It is similar to the C strcpy
function except more secure because it checks for buffer overrun.
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
src | Pointer to null-terminated string to copy. |
EXTERNRT char* rtxStrdup | ( | OSCTXT * | pctxt, |
const char * | src | ||
) |
This function creates a duplicate copy of a null-terminated string.
Memory is allocated for the target string using the rtxMemAlloc function. The string is then copied into this memory block. It is similar to the C strdup
function except more secure because it checks for buffer overrun.
pctxt | Pointer to a standard context structure. |
src | Pointer to null-terminated string to copy. |
EXTERNRT char* rtxStrDynJoin | ( | OSCTXT * | pctxt, |
const char * | str1, | ||
const char * | str2, | ||
const char * | str3, | ||
const char * | str4, | ||
const char * | str5 | ||
) |
This function allocates memory for and concatanates up to five substrings together into a single string.
pctxt | Pointer to a standard context structure. |
str1 | Pointer to substring to join. |
str2 | Pointer to substring to join. |
str3 | Pointer to substring to join. |
str4 | Pointer to substring to join. |
str5 | Pointer to substring to join. |
EXTERNRT int rtxStricmp | ( | const char * | str1, |
const char * | str2 | ||
) |
This is an implementation of the non-standard stricmp function.
It does not check for greater than/less than however, only for equality.
str1 | Pointer to first string to compare. |
str2 | Pointer to second string to compare. |
EXTERNRT const char* rtxStrJoin | ( | char * | dest, |
size_t | bufsiz, | ||
const char * | str1, | ||
const char * | str2, | ||
const char * | str3, | ||
const char * | str4, | ||
const char * | str5 | ||
) |
This function concatanates up to five substrings together into a single string.
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
str1 | Pointer to substring to join. |
str2 | Pointer to substring to join. |
str3 | Pointer to substring to join. |
str4 | Pointer to substring to join. |
str5 | Pointer to substring to join. |
EXTERNRT char* rtxStrncat | ( | char * | dest, |
size_t | bufsiz, | ||
const char * | src, | ||
size_t | nchars | ||
) |
This function concatanates the given number of characters from the given string onto the string buffer.
It is similar to the C strncat
function except more secure because it checks for buffer overrun.
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
src | Pointer to null-terminated string to copy. |
nchars | Number of characters to copy. |
EXTERNRT char* rtxStrncpy | ( | char * | dest, |
size_t | bufsiz, | ||
const char * | src, | ||
size_t | nchars | ||
) |
This function copies the given number of characters from a string to a target buffer.
It is similar to the C strncpy
function except more secure because it checks for buffer overrun and ensures a null-terminator is copied to the end of the target buffer. If the target buffer is too short to hold the null terminator, the last character is overwritten and a null pointer is returned; the destination buffer can still be examined in this case.
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
src | Pointer to null-terminated string to copy. |
nchars | Number of characters to copy. |
EXTERNRT char* rtxStrndup | ( | OSCTXT * | pctxt, |
const char * | src, | ||
OSSIZE | nchars | ||
) |
This function creates a duplicate copy of up to the given number of characters in a string.
The string does not need to be null-terminated. Memory is allocated for the target string using the rtxMemAlloc function. The string is then copied into this memory block. It is similar to the C strndup
function except more secure because it checks for buffer overrun.
pctxt | Pointer to a standard context structure. |
src | Pointer to null-terminated string to copy. |
EXTERNRT int rtxStrnicmp | ( | const char * | str1, |
const char * | str2, | ||
size_t | count | ||
) |
This is an implementation of the non-standard stricmp function.
It does not check for greater than/less than however, only for equality.
str1 | Pointer to first string to compare. |
str2 | Pointer to second string to compare. |
count | Number of characters to compare, at most. |
EXTERNRT char* rtxStrTrimEnd | ( | char * | s | ) |
This function trims whitespace from the end of a string.
s | Pointer to string to be trimmed. |
EXTERNRT int rtxUInt64ToCharStr | ( | OSUINT64 | value, |
char * | dest, | ||
size_t | bufsiz, | ||
char | padchar | ||
) |
This function converts an unsigned 64-bit integer into a character string.
It is similar to the C itoa
function.
value | Integer to convert. |
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
padchar | Left pad char, set to zero for no padding. |
EXTERNRT int rtxUIntToCharStr | ( | OSUINT32 | value, |
char * | dest, | ||
size_t | bufsiz, | ||
char | padchar | ||
) |
This function converts an unsigned 32-bit integer into a character string.
It is similar to the C itoa
function.
value | Integer to convert. |
dest | Pointer to destination buffer to receive string. |
bufsiz | Size of the destination buffer. |
padchar | Left pad char, set to zero for no padding. |
EXTERNRT int rtxValidateConstrainedStr | ( | OSCTXT * | pctxt, |
const char * | pvalue, | ||
const char * | pCharSet | ||
) |
This function will validate a constrained character string by checking to see if all the characters in the given string are contained within the
pctxt | Pointer to a context block structure. This provides a storage area for the function to store all working variables that must be maintained between function calls. |
pvalue | A pointer to a null-terminated C character string to be validated. |
pCharSet | A pointer to a null-terminated C character string containing the character set to validate against. |