/* port.c * * Copyright (C) 2014 wolfSSL Inc. * * This file is part of wolfSSH. * * wolfSSH is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * wolfSSH is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ /* * The port module wraps standard C library functions with macros to * cover portablility issues when building in environments that rename * those functions. This module also provides local versions of some * standard C library functions that are missing on some platforms. */ #ifdef HAVE_CONFIG_H #include #endif #include #ifndef WSTRING_USER char* wstrnstr(const char* s1, const char* s2, unsigned int n) { unsigned int s2_len = (unsigned int)WSTRLEN(s2); if (s2_len == 0) return (char*)s1; while (n >= s2_len && s1[0]) { if (s1[0] == s2[0]) if (WMEMCMP(s1, s2, s2_len) == 0) return (char*)s1; s1++; n--; } return NULL; } #endif /* WSTRING_USER */