From 7af295b2ec22f06b24079bf895ac97079f64b6d7 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Thu, 9 Feb 2017 20:03:33 +0100 Subject: It's starting to "properly" reply... The ACSL coverage is far behind though. --- src/core/char.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/core/char.c') 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); + } } -- cgit v1.2.3-70-g09d2