40#ifndef QSC_STRINGUTILS_H
41#define QSC_STRINGUTILS_H
45QSC_CPLUSPLUS_ENABLED_START
75#define QSC_STRINGUTILS_TOKEN_NOT_FOUND -1LL
81#define QSC_STRINGUTILS_HEX_EXTENSION_SIZE 2ULL
87#define QSC_STRINGUTILS_HEX_BYTE_SIZE 2ULL
508QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition common.h:520
QSC_EXPORT_API bool qsc_stringutils_is_empty(const char *source)
Check if a string contains and characters.
Definition stringutils.c:459
QSC_EXPORT_API int32_t qsc_stringutils_string_to_int(const char *source)
Convert a string to a 32-bit integer.
Definition stringutils.c:860
QSC_EXPORT_API char * qsc_stringutils_sub_string(const char *source, const char *token)
Find a substring within a string.
Definition stringutils.c:908
QSC_EXPORT_API size_t qsc_stringutils_remove_null_chars(char *source, size_t srclen)
Remove null characters from an array.
Definition stringutils.c:564
QSC_EXPORT_API const char * qsc_stringutils_reverse_sub_string(const char *source, const char *token)
Find a substring within a string, searching in reverse.
Definition stringutils.c:634
QSC_EXPORT_API void qsc_stringutils_split_strings(char *dest1, char *dest2, size_t destlen, const char *source, const char *token)
Split a string into two substrings.
Definition stringutils.c:659
QSC_EXPORT_API bool qsc_stringutils_string_contains(const char *source, const char *token)
Test if the string contains a substring.
Definition stringutils.c:817
bool qsc_stringutils_string_compare(const char *str1, const char *str2, size_t length)
Compare two strings for equality.
Definition stringutils.c:772
QSC_EXPORT_API size_t qsc_stringutils_whitespace_count(const char *source, size_t srclen)
Count all the white-spaces in a string.
Definition stringutils.c:1003
QSC_EXPORT_API size_t qsc_stringutils_add_line_breaks(char *dest, size_t dstlen, size_t linelen, const char *source, size_t srclen)
Add line breaks to a string at a line length interval.
Definition stringutils.c:31
QSC_EXPORT_API void qsc_stringutils_clear_substring(char *dest, size_t length)
Clear a length of data from a string.
Definition stringutils.c:115
QSC_EXPORT_API bool qsc_stringutils_is_hex(const char *source, size_t srclen)
Check that a string contains only hexadecimal ASCII characters.
Definition stringutils.c:466
QSC_EXPORT_API void qsc_stringutils_clear_string(char *source)
Clear a string of data.
Definition stringutils.c:98
QSC_EXPORT_API void qsc_stringutils_uint32_to_string(uint32_t num, char *dest, size_t destlen)
Convert a 32-bit unsigned integer to a string.
Definition stringutils.c:417
QSC_EXPORT_API void qsc_stringutils_int_to_string(int32_t num, char *dest, size_t dstlen)
Convert a 32-bit signed integer to a string.
Definition stringutils.c:403
QSC_EXPORT_API size_t qsc_stringutils_concat_strings(char *dest, size_t dstlen, const char *source)
Concatenate two strings.
Definition stringutils.c:143
QSC_EXPORT_API char * qsc_stringutils_register_string(char **source, size_t count)
Join an array of strings to form one string.
Definition stringutils.c:526
QSC_EXPORT_API void qsc_stringutils_to_uppercase(char *source)
Convert a string to all upper-case characters.
Definition stringutils.c:983
QSC_EXPORT_API size_t qsc_stringutils_whitespace_filter(const char *source, size_t srclen, char *dest)
Remove all the white-spaces from a string.
Definition stringutils.c:1025
QSC_EXPORT_API size_t qsc_stringutils_string_size(const char *source)
Get the character length of a string.
Definition stringutils.c:888
QSC_EXPORT_API void qsc_stringutils_trim_newline(char *source)
Trim null and newline characters from a string.
Definition stringutils.c:945
QSC_EXPORT_API void qsc_stringutils_int64_to_string(int64_t num, char *dest, size_t dstlen)
Convert a 64-bit signed integer to a string.
Definition stringutils.c:431
QSC_EXPORT_API int64_t qsc_stringutils_insert_string(char *dest, size_t dstlen, const char *source, size_t offset)
Inserts a substring into a string.
Definition stringutils.c:384
QSC_EXPORT_API size_t qsc_stringutils_copy_substring(char *dest, size_t dstlen, const char *source, size_t srclen)
Copy a length of one string to another.
Definition stringutils.c:253
QSC_EXPORT_API int64_t qsc_stringutils_reverse_find_string(const char *source, const char *token, size_t start)
Find the position of a substring within a string, searching in reverse.
Definition stringutils.c:596
QSC_EXPORT_API void qsc_stringutils_trim_spaces(char *source)
Trim a trailing space character from a string.
Definition stringutils.c:966
QSC_EXPORT_API bool qsc_stringutils_strings_equal(const char *str1, const char *str2)
Compare two strings for equality.
Definition stringutils.c:834
QSC_EXPORT_API size_t qsc_stringutils_remove_line_breaks(char *dest, size_t dstlen, const char *source, size_t srclen)
Removes all line breaks from a string.
Definition stringutils.c:68
QSC_EXPORT_API void qsc_stringutils_uint64_to_string(uint64_t num, char *dest, size_t dstlen)
Convert a 64-bit unsigned integer to a string.
Definition stringutils.c:445
QSC_EXPORT_API bool qsc_stringutils_is_numeric(const char *source, size_t srclen)
Check that a string contains only numeric ASCII characters.
Definition stringutils.c:496
QSC_EXPORT_API bool qsc_stringutils_compare_strings(const char *str1, const char *str2, size_t length)
Compare two strings for equivalence.
Definition stringutils.c:125
QSC_EXPORT_API int64_t qsc_stringutils_find_char(const char *source, const char token)
Find a character position within a string.
Definition stringutils.c:321
QSC_EXPORT_API size_t qsc_stringutils_formatting_filter(const char *source, size_t srclen, char *dest)
Remove all white-spaces, lines stops, and returns from a string.
Definition stringutils.c:297
QSC_EXPORT_API char ** qsc_stringutils_split_string(char *source, const char *delim, size_t *count)
Split a string into a substring 2-dimensional array.
Definition stringutils.c:692
QSC_EXPORT_API size_t qsc_stringutils_formatting_count(const char *dest, size_t dstlen)
Counts all white-spaces, line stops, and returns from a string.
Definition stringutils.c:275
QSC_EXPORT_API int32_t qsc_stringutils_string_comparison(const char *source, const char *token)
Test if the string contains a substring.
Definition stringutils.c:799
QSC_EXPORT_API size_t qsc_stringutils_concat_and_copy(char *dest, size_t dstlen, const char *str1, const char *str2)
Concatenate two strings and copy them to a third string.
Definition stringutils.c:180
QSC_EXPORT_API uint8_t qsc_stringutils_hex_to_byte(const char *hex)
Convert a hexidecimal string to a byte.
Definition stringutils.c:373
QSC_EXPORT_API void qsc_stringutils_byte_to_hex(char *hex, uint8_t input)
Convert a byte to a hexidecimal string.
Definition stringutils.c:366
QSC_EXPORT_API void qsc_stringutils_to_lowercase(char *source)
Convert a string to all lower-case characters.
Definition stringutils.c:925
QSC_EXPORT_API int64_t qsc_stringutils_find_string(const char *source, const char *token)
Find a substrings position within a string.
Definition stringutils.c:343
QSC_EXPORT_API size_t qsc_stringutils_copy_string(char *dest, size_t dstlen, const char *source)
Copy a source string to a destination string.
Definition stringutils.c:219