summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/extstr.c32
-rw-r--r--src/common/extstr.h3
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 *);