diff --git a/src/plugins/e-acsl/share/e-acsl/e_acsl_string.h b/src/plugins/e-acsl/share/e-acsl/e_acsl_string.h
index de31ec5b93c80d271035d86ec7a9ee306210d345..13fb29acc28268abf3d518e6048f9c295875c793 100644
--- a/src/plugins/e-acsl/share/e-acsl/e_acsl_string.h
+++ b/src/plugins/e-acsl/share/e-acsl/e_acsl_string.h
@@ -40,13 +40,18 @@
 #define E_ACSL_STD_STRING_H
 
 #ifndef E_ACSL_NO_COMPILER_BUILTINS
-# define memset  __builtin_memset
-# define memcmp  __builtin_memcmp
-# define memcpy  __builtin_memcpy
-# define memmove __builtin_memmove
-# define strlen  __builtin_strlen
-# define strcmp  __builtin_strcmp
-# define strncmp __builtin_strncmp
+# define memset   __builtin_memset
+# define memcmp   __builtin_memcmp
+# define memcpy   __builtin_memcpy
+# define memmove  __builtin_memmove
+# define strncat  __builtin_strncat
+# define strcat   __builtin_strcat
+# define strlen   __builtin_strlen
+# define strcmp   __builtin_strcmp
+# define strncmp  __builtin_strncmp
+# define strcpy   __builtin_strcpy
+# define strncpy  __builtin_strncpy
+# define strchr   __builtin_strchr
 #else
 # include <string.h>
 #endif
@@ -128,4 +133,14 @@ static int zeroed_out(const void *p, size_t size) {
   }
   return !memcmp(pc, &zeroblock, rem);
 }
+
+/** \brief Count the number of occurrences of char `c` in a string `s` */
+static int charcount(const char *s, char c) {
+  int count = 0;
+  while ((s = strchr(s,c)) != NULL) {
+    count++;
+    s++;
+  }
+  return count;
+}
 #endif