summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-09 20:03:33 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-02-09 20:03:33 +0100
commit7af295b2ec22f06b24079bf895ac97079f64b6d7 (patch)
tree84a554fc2c169956e3ee975152332c39f6c3615a /src/core/char.c
parent9ca43c73ba29d6b42cd771f1567074418c883c3e (diff)
It's starting to "properly" reply...
The ACSL coverage is far behind though.
Diffstat (limited to 'src/core/char.c')
-rw-r--r--src/core/char.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/core/char.c b/src/core/char.c
index 819cd57..a6b3c8d 100644
--- a/src/core/char.c
+++ b/src/core/char.c
@@ -18,9 +18,30 @@ int ZoO_word_cmp
(
const ZoO_char word_a [const static 1],
const size_t word_a_size,
- const ZoO_char word_b [const static 1]
+ const ZoO_char word_b [const static 1],
+ const size_t word_b_size
)
{
- return strncmp((const char *) word_a, (const char *) word_b, word_a_size);
+ int result;
+ size_t min_size;
+
+ 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);
+ }
}