From 1d32728b9712702c9bca90d6dac370ff5fe2c214 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 22 Apr 2017 21:33:47 +0200 Subject: Initial Commit --- src/core/char.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/core/char.c (limited to 'src/core/char.c') diff --git a/src/core/char.c b/src/core/char.c new file mode 100644 index 0000000..249ef1c --- /dev/null +++ b/src/core/char.c @@ -0,0 +1,46 @@ +#include + +#include "char.h" + +/* See: "char.c" */ +JH_char JH_char_to_lowercase (const JH_char c) +{ + if ((c >= 'A') && (c <= 'Z')) + { + return 'z' - ('Z' - c); + } + + return c; +} + +/* See: "char.c" */ +int JH_word_cmp +( + const JH_char word_a [const static 1], + const size_t word_a_size, + const JH_char word_b [const static 1], + const size_t word_b_size +) +{ + int result; + + if (word_a_size < word_b_size) + { + result = + strncmp((const char *) word_a, (const char *) word_b, word_a_size); + + return (result == 0) ? -1 : result; + } + else if (word_b_size < word_a_size) + { + result = + strncmp((const char *) word_a, (const char *) word_b, word_b_size); + + return (result == 0) ? 1 : result; + } + else + { + return strncmp((const char *) word_a, (const char *) word_b, word_a_size); + } +} + -- cgit v1.2.3-70-g09d2