There is so far one case where STRCASEPREFIX(a, b) && a +
strlen(b) combo is used (in virVMXConfigScanResultsCollector()),
but there will be more. Do what we do usually: introduce a macro.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
* use: */
STRSKIP(a, b)
+- For skipping prefix case insensitively:
+
+ ::
+
+ /* Instead of:
+ * STRCASEPREFIX(a, b) ? a + strlen(b) : NULL
+ * use: */
+ STRCASESKIP(a, b)
+
- To avoid having to check if a or b are NULL:
::
#define STRPREFIX(a, b) (strncmp(a, b, strlen(b)) == 0)
#define STRCASEPREFIX(a, b) (g_ascii_strncasecmp(a, b, strlen(b)) == 0)
#define STRSKIP(a, b) (STRPREFIX(a, b) ? (a) + strlen(b) : NULL)
+#define STRCASESKIP(a, b) (STRCASEPREFIX(a, b) ? (a) + strlen(b) : NULL)
+
/**
* STRLIM
* @str: pointer to a string (evaluated once)