Rudiments
charstring.h
1// Copyright (c) 1999-2018 David Muse
2// See the COPYING file for more information.
3
4#ifndef RUDIMENTS_CHARSTRING_H
5#define RUDIMENTS_CHARSTRING_H
6
7#include <rudiments/private/charstringincludes.h>
8
20class RUDIMENTS_DLLSPEC charstring {
21 public:
22
28 static size_t getLength(const char *string);
29
32 static size_t getSize(const char *string);
33
35 static bool isNullOrEmpty(const char *string);
36
48 static bool isYes(const char *string);
49
60 static bool isNo(const char *string);
61
67 static void zero(char *str, size_t len);
68
72 static char *append(char *dest, const char *source);
73
77 static char *append(char *dest, const char *source,
78 size_t len);
79
83 static char *append(char *dest, int64_t number);
84
88 static char *append(char *dest, uint64_t number);
89
93 static char *append(char *dest, double number);
94
99 static char *append(char *dest, double number,
100 uint16_t scale);
101
106 static char *append(char *dest, double number,
107 uint16_t precision,
108 uint16_t scale);
109
113 static char *copy(char *dest, const char *source);
114
118 static char *copy(char *dest,
119 const char *source, size_t len);
120
125 static char *copy(char *dest, size_t location,
126 const char *source);
127
132 static char *copy(char *dest, size_t location,
133 const char *source, size_t len);
134
139 static char *safeCopy(char *dest, size_t destlen,
140 const char *source);
141
146 static char *safeCopy(char *dest, size_t destlen,
147 const char *source, size_t sourcelen);
148
151 static int32_t compare(const char *str1, const char *str2);
152
156 static int32_t compare(const char *str1, const char *str2,
157 size_t len);
158
161 static int32_t compareIgnoringCase(const char *str1,
162 const char *str2);
163
167 static int32_t compareIgnoringCase(const char *str1,
168 const char *str2,
169 size_t len);
170
180 static int32_t compareNatural(const char *str1,
181 const char *str2);
182
197 static int32_t compareNatural(const char *str1,
198 const char *str2,
199 const char *delimiters);
200
208 static int32_t compareVersions(const char *str1,
209 const char *str2);
210
223 static int32_t compareVersions(const char *str1,
224 const char *str2,
225 const char *delimiters);
226
237 static bool compareWithWildcards(const char *string,
238 size_t stringlen,
239 const char *pattern,
240 size_t patternlen,
241 char singlewildcard,
242 char multiwildcard);
243
253 static bool compareWithWildcards(const char *string,
254 const char *pattern,
255 size_t patternlen,
256 char singlewildcard,
257 char multiwildcard);
258
268 static bool compareWithWildcards(const char *string,
269 size_t stringlen,
270 const char *pattern,
271 char singlewildcard,
272 char multiwildcard);
273
282 static bool compareWithWildcards(const char *string,
283 const char *pattern,
284 char singlewildcard,
285 char multiwildcard);
286
291 static bool isInSet(const char *str,
292 const char * const *set);
293
298 static bool isInSetIgnoringCase(const char *str,
299 const char * const *set);
300
303 static bool contains(const char *haystack,
304 const char *needle);
305
308 static bool containsIgnoringCase(const char *haystack,
309 const char *needle);
310
313 static bool contains(const char *haystack, char needle);
314
317 static bool containsIgnoringCase(const char *haystack,
318 char needle);
319
322 static bool startsWith(const char *haystack,
323 const char *needle);
324
327 static bool endsWith(const char *haystack,
328 const char *needle);
329
332 static const char *findFirst(const char *haystack,
333 const char *needle);
334
337 static const char *findFirstIgnoringCase(
338 const char *haystack,
339 const char *needle);
340
343 static const char *findFirst(const char *haystack,
344 char needle);
345
348 static const char *findFirstIgnoringCase(
349 const char *haystack,
350 char needle);
351
355 static const char *findFirstOrEnd(const char *haystack,
356 const char *needle);
357
361 static const char *findFirstOrEndIgnoringCase(
362 const char *haystack,
363 const char *needle);
364
368 static const char *findFirstOrEnd(const char *haystack,
369 char needle);
370
374 static const char *findFirstOrEndIgnoringCase(
375 const char *haystack,
376 char needle);
377
380 static const char *findLast(const char *haystack,
381 const char *needle);
382
385 static const char *findLastIgnoringCase(
386 const char *haystack,
387 const char *needle);
388
391 static const char *findLast(const char *haystack,
392 char needle);
393
396 static const char *findLastIgnoringCase(
397 const char *haystack,
398 char needle);
399
402 static char *findFirst(char *haystack, const char *needle);
403
406 static char *findFirstIgnoringCase(char *haystack,
407 const char *needle);
408
411 static char *findFirst(char *haystack, char needle);
412
415 static char *findFirstIgnoringCase(char *haystack,
416 char needle);
417
421 static char *findFirstOrEnd(char *haystack,
422 const char *needle);
423
427 static char *findFirstOrEndIgnoringCase(char *haystack,
428 const char *needle);
429
432 static char *findLast(char *haystack, const char *needle);
433
436 static char *findLastIgnoringCase(char *haystack,
437 const char *needle);
438
441 static char *findLast(char *haystack, char needle);
442
445 static char *findLastIgnoringCase(char *haystack,
446 char needle);
447
451 static const char *findFirstOfSet(const char *haystack,
452 const char *set);
453
457 static char *findFirstOfSet(char *haystack,
458 const char *set);
459
464 static const char *findFirstOfSetOrEnd(
465 const char *haystack,
466 const char *set);
467
473 char *haystack,
474 const char *set);
475
479 static const char *findLastOfSet(const char *haystack,
480 const char *set);
481
485 static char *findLastOfSet(char *haystack,
486 const char *set);
487
492 static const char *findLastOfSetOrEnd(
493 const char *haystack,
494 const char *set);
495
500 static char *findLastOfSetOrEnd(
501 char *haystack,
502 const char *set);
503
521 static char *findEndOfQuotedString(char *string,
522 char quote,
523 bool backslash,
524 bool doubling);
525
543 static const char *findEndOfQuotedString(
544 const char *string,
545 char quote,
546 bool backslash,
547 bool doubling);
548
567 static char *findEndOfQuotedString(char *string,
568 size_t stringlen,
569 char quote,
570 bool backslash,
571 bool doubling);
572
591 static const char *findEndOfQuotedString(
592 const char *string,
593 size_t stringlen,
594 char quote,
595 bool backslash,
596 bool doubling);
597
618 static char *findEndOfQuotedString(char *string,
619 bool backslash,
620 bool doubling);
621
642 static const char *findEndOfQuotedString(
643 const char *string,
644 bool backslash,
645 bool doubling);
646
668 static char *findEndOfQuotedString(char *string,
669 size_t stringlen,
670 bool backslash,
671 bool doubling);
672
694 static const char *findEndOfQuotedString(
695 const char *string,
696 size_t stringlen,
697 bool backslash,
698 bool doubling);
699
704 static char *isBefore(const char *str,
705 const char *delimiter);
706
711 static char *isBetween(const char *str,
712 const char *start,
713 const char *end);
714
720 static char *isAfter(const char *str,
721 const char *delimiter);
722
726 static size_t getLengthContainingSet(const char *haystack,
727 const char *set);
728
732 static size_t getLengthNotContainingSet(const char *haystack,
733 const char *set);
734
739 static char *duplicate(const char *str);
740
746 static char *duplicate(const char *str, size_t len);
747
754 static char *duplicate(const wchar_t *str);
755
765 static char *duplicate(const wchar_t *str, size_t len);
766
775 static char *duplicate(const wchar_t *str,
776 char replacement);
777
787 static char *duplicate(const wchar_t *str, size_t len,
788 char replacement);
789
801 static char *duplicateUcs2(const ucs2_t *str);
802
815 static char *duplicateUcs2(const ucs2_t *str, size_t len);
816
829 static char *duplicateUcs2(const ucs2_t *str,
830 bool bigendian);
831
845 static char *duplicateUcs2(const ucs2_t *str,
846 size_t len,
847 bool bigendian);
848
860 static char *duplicateUcs2(const ucs2_t *str,
861 char replacement);
862
875 static char *duplicateUcs2(const ucs2_t *str,
876 size_t len,
877 char replacement);
878
891 static char *duplicateUcs2(const ucs2_t *str,
892 char replacement,
893 bool bigendian);
894
908 static char *duplicateUcs2(const ucs2_t *str,
909 size_t len,
910 char replacement,
911 bool bigendian);
912
918 static void upper(char *str);
919
925 static void lower(char *str);
926
933 static void capitalize(char *str);
934
936 static void rightTrim(char *str);
937
940 static void rightTrim(char *str, char character);
941
943 static void leftTrim(char *str);
944
947 static void leftTrim(char *str, char character);
948
950 static void bothTrim(char *str);
951
953 static void bothTrim(char *str, char character);
954
958 static bool strip(char *str, char character);
959
963 static bool strip(char *str1, const char *str2);
964
968 static bool stripSet(char *str1, const char *set);
969
972 static void replace(char *str,
973 char oldchar, char newchar);
974
977 static void replace(char *str,
978 const char *oldchars, char newchar);
979
983 static char *replace(const char *str,
984 const char *oldstr,
985 const char *newstr);
986
993 static char *replace(const char *str,
994 const char * const *oldstrset,
995 const char * const *newstrset);
996
1004 static char *replace(const char *str,
1005 const char * const *oldstrset,
1006 size_t *oldstrlen,
1007 const char * const *newstrset);
1008
1011 static void replaceIgnoringCase(char *str,
1012 char oldchar, char newchar);
1013
1016 static void replaceIgnoringCase(char *str,
1017 const char *oldchars, char newchar);
1018
1022 static char *replaceIgnoringCase(const char *str,
1023 const char *oldstr,
1024 const char *newstr);
1025
1032 static char *replaceIgnoringCase(const char *str,
1033 const char * const *oldstrset,
1034 const char * const *newstrset);
1035
1043 static char *replaceIgnoringCase(const char *str,
1044 const char * const *oldstrset,
1045 size_t *oldstrlen,
1046 const char * const *newstrset);
1047
1054 static char *replace(const char *str,
1055 regularexpression *from,
1056 const char *to,
1057 bool global);
1058
1061 static uint16_t getIntegerLength(int16_t number);
1062
1065 static uint16_t getIntegerLength(int32_t number);
1066
1069 static uint16_t getIntegerLength(int64_t number);
1070
1073 static uint16_t getIntegerLength(uint16_t number);
1074
1077 static uint16_t getIntegerLength(uint32_t number);
1078
1081 static uint16_t getIntegerLength(uint64_t number);
1082
1085 static bool isInteger(const char *val);
1086
1089 static bool isInteger(const char *val, int32_t len);
1090
1093 static bool isNumber(const char *val);
1094
1097 static bool isNumber(const char *val, int32_t len);
1098
1102 static char *parseNumber(int16_t number);
1103
1107 static char *parseNumber(uint16_t number);
1108
1112 static char *parseNumber(int16_t number,
1113 uint16_t zeropadding);
1114
1118 static char *parseNumber(uint16_t number,
1119 uint16_t zeropadding);
1120
1124 static char *parseNumber(int32_t number);
1125
1129 static char *parseNumber(uint32_t number);
1130
1134 static char *parseNumber(int32_t number,
1135 uint16_t zeropadding);
1136
1140 static char *parseNumber(uint32_t number,
1141 uint16_t zeropadding);
1142
1146 static char *parseNumber(int64_t number);
1147
1151 static char *parseNumber(uint64_t number);
1152
1156 static char *parseNumber(int64_t number,
1157 uint16_t zeropadding);
1158
1162 static char *parseNumber(uint64_t number,
1163 uint16_t zeropadding);
1164
1165
1169 static char *parseNumber(float number);
1170
1174 static char *parseNumber(float number,
1175 uint16_t scale);
1176
1180 static char *parseNumber(float number,
1181 uint16_t precision,
1182 uint16_t scale);
1183
1187 static char *parseNumber(double number);
1188
1192 static char *parseNumber(double number,
1193 uint16_t scale);
1194
1198 static char *parseNumber(double number,
1199 uint16_t precision,
1200 uint16_t scale);
1201
1205 static char *parseNumber(long double number);
1206
1210 static char *parseNumber(long double number,
1211 uint16_t scale);
1212
1216 static char *parseNumber(long double number,
1217 uint16_t precision,
1218 uint16_t scale);
1219
1221 static int64_t convertToInteger(const char *string);
1222
1226 static int64_t convertToInteger(const char *string,
1227 const char **endptr);
1228
1230 static int64_t convertToInteger(const char *string,
1231 int32_t base);
1232
1236 static int64_t convertToInteger(const char *string,
1237 const char **endptr, int32_t base);
1238
1241 const char *string);
1242
1247 const char *string,
1248 const char **endptr);
1249
1253 const char *string,
1254 int32_t base);
1255
1261 const char *string,
1262 const char **endptr,
1263 int32_t base);
1264
1265
1267 static long double convertToFloat(const char *string);
1268
1282 static long double convertToFloatC(const char *string);
1283
1287 static long double convertToFloat(const char *string,
1288 const char **endptr);
1289
1296 static int64_t convertAmount(const char *amount);
1297
1304 static char *convertAmount(int64_t amount);
1305
1315 static char *convertAmount(int64_t amount,
1316 uint16_t padding);
1317
1318
1323 static char *escape(const char *input,
1324 const char *characters);
1325
1330 static char *unescape(const char *input);
1331
1335 static void escape(const char *input,
1336 uint64_t inputlen,
1337 char **output,
1338 uint64_t *outputlen,
1339 const char *characters);
1340
1344 static void unescape(const char *input,
1345 uint64_t inputlen,
1346 char **output,
1347 uint64_t *outputlen);
1348
1352 static char *urlEncode(const char *input);
1353
1357 static char *urlDecode(const char *input);
1358
1362 static char *base64Encode(const byte_t *input);
1363
1366 static char *base64Encode(const byte_t *input,
1367 uint64_t inputsize);
1368
1372 static void base64Encode(const byte_t *input,
1373 uint64_t inputsize,
1374 char **output,
1375 uint64_t *outputlen);
1376
1380 static byte_t *base64Decode(const char *input);
1381
1384 static byte_t *base64Decode(const char *input,
1385 uint64_t inputlen);
1386
1390 static void base64Decode(const char *input,
1391 uint64_t inputlen,
1392 byte_t **output,
1393 uint64_t *outputsize);
1394
1399 const byte_t *input);
1400
1404 const byte_t *input,
1405 uint64_t inputsize);
1406
1411 const byte_t *input,
1412 uint64_t inputsize,
1413 char **output,
1414 uint64_t *outputlen);
1415
1419 static byte_t *quotedPrintableDecode(const char *input);
1420
1423 static byte_t *quotedPrintableDecode(const char *input,
1424 uint64_t inputlen);
1425
1429 static void quotedPrintableDecode(const char *input,
1430 uint64_t inputlen,
1431 byte_t **output,
1432 uint64_t *outputlen);
1433
1434
1438 static char *hexEncode(const byte_t *input);
1439
1442 static char *hexEncode(const byte_t *input,
1443 uint64_t inputsize);
1444
1448 static void hexEncode(const byte_t *input,
1449 uint64_t inputsize,
1450 char **output,
1451 uint64_t *outputlen);
1452
1456 static byte_t *hexDecode(const char *input);
1457
1460 static byte_t *hexDecode(const char *input,
1461 uint64_t inputlen);
1462
1466 static void hexDecode(const char *input,
1467 uint64_t inputlen,
1468 byte_t **output,
1469 uint64_t *outputsize);
1470
1472 static void obfuscate(char *str);
1473
1476 static void deobfuscate(char *str);
1477
1486 static void leftJustify(char *str, int32_t len);
1487
1496 static void rightJustify(char *str, int32_t len);
1497
1505 static void center(char *str, int32_t len);
1506
1513 static char *pad(const char *string,
1514 char padchar,
1515 int16_t direction,
1516 uint64_t totallen);
1517
1526 static void split(const char *string,
1527 size_t stringlen,
1528 const char *delimiter,
1529 size_t delimiterlen,
1530 bool collapse,
1531 char ***list,
1532 uint64_t *listcount);
1533
1541 static void split(const char *string,
1542 const char *delimiter,
1543 size_t delimiterlen,
1544 bool collapse,
1545 char ***list,
1546 uint64_t *listcount);
1547
1555 static void split(const char *string,
1556 size_t stringlen,
1557 const char *delimiter,
1558 bool collapse,
1559 char ***list,
1560 uint64_t *listcount);
1561
1569 static void split(const char *string,
1570 const char *delimiter,
1571 bool collapse,
1572 char ***list,
1573 uint64_t *listcount);
1574
1578 static char *getSubString(const char *str,
1579 size_t start, size_t end);
1580
1584 static char *getSubString(const char *str, size_t start);
1585
1588 static char *insertString(const char *dest,
1589 const char *src,
1590 uint64_t index);
1591
1597 static char *getHumanReadable(int64_t number);
1598
1605 static char *getHumanReadable(int64_t number,
1606 bool onethousand);
1607
1611 static char *getHumanReadable(uint64_t number);
1612
1619 static char *getHumanReadable(uint64_t number,
1620 bool onethousand);
1621
1625 static char *getHumanReadable(long double number);
1626
1633 static char *getHumanReadable(long double number,
1634 bool onethousand);
1635
1658 static ssize_t printf(char *buffer, size_t len,
1659 const char *format, ...);
1660
1686 static ssize_t printf(char *buffer, size_t len,
1687 const char *format,
1688 va_list *argp);
1689
1706 static ssize_t printf(char **buffer,
1707 const char *format, ...);
1708
1725 static ssize_t printf(char **buffer,
1726 const char *format,
1727 va_list *argp);
1728
1729 #include <rudiments/private/charstring.h>
1730};
1731
1732#endif
Definition character.h:11
Definition charstring.h:20
static char * parseNumber(long double number)
static char * getSubString(const char *str, size_t start, size_t end)
static size_t getSize(const char *string)
static bool isNumber(const char *val)
static void leftTrim(char *str, char character)
static void replace(char *str, const char *oldchars, char newchar)
static char * duplicate(const wchar_t *str, size_t len, char replacement)
static char * escape(const char *input, const char *characters)
static char * duplicate(const char *str, size_t len)
static char * parseNumber(float number)
static char * parseNumber(uint32_t number, uint16_t zeropadding)
static char * duplicate(const wchar_t *str, size_t len)
static bool endsWith(const char *haystack, const char *needle)
static char * duplicate(const char *str)
static char * quotedPrintableEncode(const byte_t *input, uint64_t inputsize)
static void split(const char *string, size_t stringlen, const char *delimiter, bool collapse, char ***list, uint64_t *listcount)
static bool containsIgnoringCase(const char *haystack, const char *needle)
static uint16_t getIntegerLength(uint32_t number)
static void upper(char *str)
static char * parseNumber(uint16_t number, uint16_t zeropadding)
static char * findEndOfQuotedString(char *string, size_t stringlen, bool backslash, bool doubling)
static bool isInSetIgnoringCase(const char *str, const char *const *set)
static size_t getLengthNotContainingSet(const char *haystack, const char *set)
static void center(char *str, int32_t len)
static long double convertToFloatC(const char *string)
static bool isYes(const char *string)
static char * duplicateUcs2(const ucs2_t *str, size_t len, char replacement)
static char * replace(const char *str, const char *oldstr, const char *newstr)
static char * parseNumber(int16_t number)
static void split(const char *string, const char *delimiter, bool collapse, char ***list, uint64_t *listcount)
static int32_t compareVersions(const char *str1, const char *str2, const char *delimiters)
static const char * findLastIgnoringCase(const char *haystack, char needle)
static char * findFirstOfSetOrEnd(char *haystack, const char *set)
static int64_t convertToInteger(const char *string)
static char * hexEncode(const byte_t *input, uint64_t inputsize)
static uint64_t convertToUnsignedInteger(const char *string, const char **endptr, int32_t base)
static char * hexEncode(const byte_t *input)
static char * duplicateUcs2(const ucs2_t *str, char replacement)
static void rightTrim(char *str)
static char * findEndOfQuotedString(char *string, char quote, bool backslash, bool doubling)
static char * isAfter(const char *str, const char *delimiter)
static void rightJustify(char *str, int32_t len)
static bool compareWithWildcards(const char *string, const char *pattern, size_t patternlen, char singlewildcard, char multiwildcard)
static bool isInSet(const char *str, const char *const *set)
static void bothTrim(char *str, char character)
static uint64_t convertToUnsignedInteger(const char *string)
static uint64_t convertToUnsignedInteger(const char *string, int32_t base)
static ssize_t printf(char **buffer, const char *format,...)
static bool startsWith(const char *haystack, const char *needle)
static char * convertAmount(int64_t amount, uint16_t padding)
static long double convertToFloat(const char *string, const char **endptr)
static char * findEndOfQuotedString(char *string, size_t stringlen, char quote, bool backslash, bool doubling)
static char * pad(const char *string, char padchar, int16_t direction, uint64_t totallen)
static int64_t convertAmount(const char *amount)
static const char * findLastIgnoringCase(const char *haystack, const char *needle)
static char * copy(char *dest, const char *source)
static char * urlDecode(const char *input)
static const char * findFirstIgnoringCase(const char *haystack, const char *needle)
static const char * findFirstOrEnd(const char *haystack, const char *needle)
static int64_t convertToInteger(const char *string, const char **endptr, int32_t base)
static uint16_t getIntegerLength(int16_t number)
static char * replaceIgnoringCase(const char *str, const char *const *oldstrset, const char *const *newstrset)
static char * replace(const char *str, regularexpression *from, const char *to, bool global)
static char * copy(char *dest, size_t location, const char *source, size_t len)
static char * duplicateUcs2(const ucs2_t *str, bool bigendian)
static char * findEndOfQuotedString(char *string, bool backslash, bool doubling)
static void leftTrim(char *str)
static char * isBetween(const char *str, const char *start, const char *end)
static const char * findFirst(const char *haystack, const char *needle)
static const char * findFirstIgnoringCase(const char *haystack, char needle)
static ssize_t printf(char *buffer, size_t len, const char *format, va_list *argp)
static void rightTrim(char *str, char character)
static const char * findFirst(const char *haystack, char needle)
static bool isNullOrEmpty(const char *string)
static char * convertAmount(int64_t amount)
static char * insertString(const char *dest, const char *src, uint64_t index)
static void lower(char *str)
static bool contains(const char *haystack, char needle)
static byte_t * quotedPrintableDecode(const char *input, uint64_t inputlen)
static void quotedPrintableEncode(const byte_t *input, uint64_t inputsize, char **output, uint64_t *outputlen)
static const char * findFirstOrEndIgnoringCase(const char *haystack, char needle)
static int32_t compareVersions(const char *str1, const char *str2)
static char * findFirstOrEnd(char *haystack, const char *needle)
static int32_t compareIgnoringCase(const char *str1, const char *str2, size_t len)
static void split(const char *string, const char *delimiter, size_t delimiterlen, bool collapse, char ***list, uint64_t *listcount)
static char * replaceIgnoringCase(const char *str, const char *oldstr, const char *newstr)
static char * findLastOfSetOrEnd(char *haystack, const char *set)
static char * parseNumber(int64_t number, uint16_t zeropadding)
static bool isInteger(const char *val)
static void unescape(const char *input, uint64_t inputlen, char **output, uint64_t *outputlen)
static void hexEncode(const byte_t *input, uint64_t inputsize, char **output, uint64_t *outputlen)
static void split(const char *string, size_t stringlen, const char *delimiter, size_t delimiterlen, bool collapse, char ***list, uint64_t *listcount)
static byte_t * hexDecode(const char *input)
static char * getHumanReadable(int64_t number, bool onethousand)
static char * findFirstOrEndIgnoringCase(char *haystack, const char *needle)
static char * duplicateUcs2(const ucs2_t *str, size_t len)
static char * replace(const char *str, const char *const *oldstrset, size_t *oldstrlen, const char *const *newstrset)
static char * parseNumber(uint16_t number)
static bool strip(char *str, char character)
static char * isBefore(const char *str, const char *delimiter)
static char * unescape(const char *input)
static char * findFirst(char *haystack, char needle)
static char * findFirstIgnoringCase(char *haystack, char needle)
static char * duplicateUcs2(const ucs2_t *str, char replacement, bool bigendian)
static long double convertToFloat(const char *string)
static bool stripSet(char *str1, const char *set)
static char * parseNumber(int64_t number)
static bool contains(const char *haystack, const char *needle)
static void bothTrim(char *str)
static byte_t * base64Decode(const char *input, uint64_t inputlen)
static size_t getLength(const char *string)
static const char * findLast(const char *haystack, char needle)
static uint16_t getIntegerLength(uint16_t number)
static byte_t * quotedPrintableDecode(const char *input)
static const char * findFirstOrEndIgnoringCase(const char *haystack, const char *needle)
static char * parseNumber(double number)
static char * append(char *dest, double number, uint16_t scale)
static char * findLast(char *haystack, char needle)
static void leftJustify(char *str, int32_t len)
static const char * findFirstOfSetOrEnd(const char *haystack, const char *set)
static char * replace(const char *str, const char *const *oldstrset, const char *const *newstrset)
static void zero(char *str, size_t len)
static const char * findEndOfQuotedString(const char *string, size_t stringlen, bool backslash, bool doubling)
static char * findFirst(char *haystack, const char *needle)
static bool isNo(const char *string)
static char * parseNumber(int32_t number, uint16_t zeropadding)
static void capitalize(char *str)
static char * parseNumber(float number, uint16_t scale)
static char * append(char *dest, uint64_t number)
static char * getHumanReadable(uint64_t number, bool onethousand)
static char * parseNumber(uint64_t number, uint16_t zeropadding)
static char * duplicate(const wchar_t *str, char replacement)
static void base64Decode(const char *input, uint64_t inputlen, byte_t **output, uint64_t *outputsize)
static ssize_t printf(char *buffer, size_t len, const char *format,...)
static char * append(char *dest, const char *source)
static int64_t convertToInteger(const char *string, int32_t base)
static char * findLastIgnoringCase(char *haystack, const char *needle)
static bool isNumber(const char *val, int32_t len)
static char * parseNumber(float number, uint16_t precision, uint16_t scale)
static bool compareWithWildcards(const char *string, const char *pattern, char singlewildcard, char multiwildcard)
static ssize_t printf(char **buffer, const char *format, va_list *argp)
static void hexDecode(const char *input, uint64_t inputlen, byte_t **output, uint64_t *outputsize)
static char * parseNumber(uint32_t number)
static char * findFirstIgnoringCase(char *haystack, const char *needle)
static char * findLast(char *haystack, const char *needle)
static char * append(char *dest, double number, uint16_t precision, uint16_t scale)
static byte_t * hexDecode(const char *input, uint64_t inputlen)
static char * urlEncode(const char *input)
static char * getHumanReadable(long double number, bool onethousand)
static char * duplicateUcs2(const ucs2_t *str, size_t len, bool bigendian)
static char * duplicateUcs2(const ucs2_t *str)
static char * base64Encode(const byte_t *input)
static void replace(char *str, char oldchar, char newchar)
static int32_t compare(const char *str1, const char *str2)
static byte_t * base64Decode(const char *input)
static char * getSubString(const char *str, size_t start)
static char * getHumanReadable(int64_t number)
static char * safeCopy(char *dest, size_t destlen, const char *source)
static char * parseNumber(int16_t number, uint16_t zeropadding)
static void deobfuscate(char *str)
static char * copy(char *dest, size_t location, const char *source)
static uint16_t getIntegerLength(int64_t number)
static char * parseNumber(double number, uint16_t precision, uint16_t scale)
static char * parseNumber(long double number, uint16_t scale)
static const char * findFirstOfSet(const char *haystack, const char *set)
static bool strip(char *str1, const char *str2)
static char * parseNumber(int32_t number)
static char * append(char *dest, const char *source, size_t len)
static int32_t compareIgnoringCase(const char *str1, const char *str2)
static char * findLastIgnoringCase(char *haystack, char needle)
static char * copy(char *dest, const char *source, size_t len)
static bool containsIgnoringCase(const char *haystack, char needle)
static char * append(char *dest, int64_t number)
static int32_t compareNatural(const char *str1, const char *str2, const char *delimiters)
static char * parseNumber(long double number, uint16_t precision, uint16_t scale)
static const char * findLast(const char *haystack, const char *needle)
static const char * findFirstOrEnd(const char *haystack, char needle)
static void obfuscate(char *str)
static char * safeCopy(char *dest, size_t destlen, const char *source, size_t sourcelen)
static const char * findEndOfQuotedString(const char *string, size_t stringlen, char quote, bool backslash, bool doubling)
static char * duplicate(const wchar_t *str)
static const char * findLastOfSetOrEnd(const char *haystack, const char *set)
static char * append(char *dest, double number)
static const char * findEndOfQuotedString(const char *string, char quote, bool backslash, bool doubling)
static uint64_t convertToUnsignedInteger(const char *string, const char **endptr)
static char * findLastOfSet(char *haystack, const char *set)
static char * parseNumber(double number, uint16_t scale)
static char * getHumanReadable(uint64_t number)
static char * parseNumber(uint64_t number)
static char * getHumanReadable(long double number)
static char * findFirstOfSet(char *haystack, const char *set)
static const char * findLastOfSet(const char *haystack, const char *set)
static int32_t compareNatural(const char *str1, const char *str2)
static int32_t compare(const char *str1, const char *str2, size_t len)
static size_t getLengthContainingSet(const char *haystack, const char *set)
static char * duplicateUcs2(const ucs2_t *str, size_t len, char replacement, bool bigendian)
static void quotedPrintableDecode(const char *input, uint64_t inputlen, byte_t **output, uint64_t *outputlen)
static void escape(const char *input, uint64_t inputlen, char **output, uint64_t *outputlen, const char *characters)
static char * quotedPrintableEncode(const byte_t *input)
static char * base64Encode(const byte_t *input, uint64_t inputsize)
static bool isInteger(const char *val, int32_t len)
static void base64Encode(const byte_t *input, uint64_t inputsize, char **output, uint64_t *outputlen)
static const char * findEndOfQuotedString(const char *string, bool backslash, bool doubling)
static bool compareWithWildcards(const char *string, size_t stringlen, const char *pattern, char singlewildcard, char multiwildcard)
static uint16_t getIntegerLength(int32_t number)
static int64_t convertToInteger(const char *string, const char **endptr)
static uint16_t getIntegerLength(uint64_t number)
static bool compareWithWildcards(const char *string, size_t stringlen, const char *pattern, size_t patternlen, char singlewildcard, char multiwildcard)
static void replaceIgnoringCase(char *str, const char *oldchars, char newchar)
static void replaceIgnoringCase(char *str, char oldchar, char newchar)
static char * replaceIgnoringCase(const char *str, const char *const *oldstrset, size_t *oldstrlen, const char *const *newstrset)
Definition input.h:11
Definition output.h:11
Definition regularexpression.h:14