diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/extstr.c | 32 | ||||
-rw-r--r-- | src/common/extstr.h | 3 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/common/extstr.c b/src/common/extstr.c index deffbd4..5187567 100644 --- a/src/common/extstr.c +++ b/src/common/extstr.c @@ -88,6 +88,38 @@ char *strprep(char *str1, const char *str2) /****************************************************************************** * * +* Paramètres : str1 = chaîne de caractères à analyser. * +* str2 = chaîne de caractères à retrouver. * +* * +* Description : Compare deux chaînes de caractères en partant de la fin. * +* * +* Retour : -1, 0, ou 1 selon la comparaison. * +* * +* Remarques : - * +* * +******************************************************************************/ + +int strrcmp(const char *str1, const char *str2) +{ + int result; /* Bilan à renvoyer */ + size_t len1; /* Longueur de la chaîne donnée*/ + size_t len2; /* Longueur de la chaîne visée */ + + len1 = strlen(str1); + len2 = strlen(str2); + + if (len1 <= len2) + result = strcmp(str1, str2); + + else result = strcmp(&str1[len1 - len2], str2); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : input = chaîne de caractères à traiter. * * * * Description : S'assure qu'une chaîne de caractère tient sur une ligne. * diff --git a/src/common/extstr.h b/src/common/extstr.h index 8baa2e2..2ce0257 100644 --- a/src/common/extstr.h +++ b/src/common/extstr.h @@ -32,6 +32,9 @@ char *stradd(char *str1, const char *str2); /* Fait précéder une chaîne de caractères par une autre. */ char *strprep(char *, const char *); +/* Compare deux chaînes de caractères en partant de la fin. */ +int strrcmp(const char *, const char *); + /* S'assure qu'une chaîne de caractère tient sur une ligne. */ char *escape_crlf(char *); |