2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

string: Implement strcasestr for Windows.

strcasestr is not defined for Windows, so implement a version
that could be used on Windows. This is needed for an upcoming
patch.

Signed-off-by: Darrell Ball <dlu998@gmail.com>
Co-authored-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
Darrell Ball
2017-08-06 10:51:12 -07:00
committed by Ben Pfaff
parent e0dfd67b45
commit ab6f684e36
2 changed files with 22 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2009, 2011 Nicira, Inc.
* Copyright (c) 2009, 2011, 2017 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,9 +15,11 @@
*/
#include <config.h>
#include <ctype.h>
#include <string.h>
#include "util.h"
#ifndef HAVE_STRNLEN
size_t
strnlen(const char *s, size_t maxlen)
@@ -26,3 +28,19 @@ strnlen(const char *s, size_t maxlen)
return end ? end - s : maxlen;
}
#endif
#ifdef _WIN32
char *strcasestr(const char *str, const char *substr)
{
do {
for (size_t i = 0; ; i++) {
if (!substr[i]) {
return CONST_CAST(char *, str);
} else if (tolower(substr[i]) != tolower(str[i])) {
break;
}
}
} while (*str++);
return NULL;
}
#endif