From 5f8ecdb2b3d229259bf6ea5508ab86f50e62f748 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Mon, 5 Jun 2017 19:52:25 +0200 Subject: [PATCH] Remove local implementation of strtok_r MS Visual Studio does not provide that function, but can use strtok_s which does exactly the same. Signed-off-by: Stefan Weil --- ccutil/Makefile.am | 4 +-- ccutil/ambigs.cpp | 10 +++----- vs2010/port/strtok_r.cpp | 55 ---------------------------------------- vs2010/port/strtok_r.h | 27 -------------------- 4 files changed, 4 insertions(+), 92 deletions(-) delete mode 100644 vs2010/port/strtok_r.cpp delete mode 100644 vs2010/port/strtok_r.h diff --git a/ccutil/Makefile.am b/ccutil/Makefile.am index 9d3d83b22b..4f3fa56d93 100644 --- a/ccutil/Makefile.am +++ b/ccutil/Makefile.am @@ -42,7 +42,5 @@ libtesseract_ccutil_la_SOURCES = \ params.cpp universalambigs.cpp if T_WIN -AM_CPPFLAGS += -I$(top_srcdir)/vs2010/port -DWINDLLNAME=\"lib@GENERIC_LIBRARY_NAME@\" -noinst_HEADERS += ../vs2010/port/strtok_r.h -libtesseract_ccutil_la_SOURCES += ../vs2010/port/strtok_r.cpp +AM_CPPFLAGS += -DWINDLLNAME=\"lib@GENERIC_LIBRARY_NAME@\" endif diff --git a/ccutil/ambigs.cpp b/ccutil/ambigs.cpp index 15a755de84..0c9c0ccad2 100644 --- a/ccutil/ambigs.cpp +++ b/ccutil/ambigs.cpp @@ -24,13 +24,9 @@ #include "helpers.h" #include "universalambigs.h" -#if defined _WIN32 -#ifndef __GNUC__ -#define strtok_r strtok_s -#else -#include "strtok_r.h" -#endif /* __GNUC__ */ -#endif /* _WIN32 */ +#if defined(_WIN32) && !defined(__GNUC__) +# define strtok_r(str, delim, saveptr) strtok_s(str, delim, saveptr) +#endif /* _WIN32 && !__GNUC__ */ namespace tesseract { diff --git a/vs2010/port/strtok_r.cpp b/vs2010/port/strtok_r.cpp deleted file mode 100644 index a89b50f1c9..0000000000 --- a/vs2010/port/strtok_r.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of the Institute nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -// source: https://github.com/heimdal/heimdal/blob/master/lib/roken/strtok_r.c - -#include - -char *strtok_r(char *s1, const char *s2, char **lasts) { - char *ret; - - if (s1 == NULL) - s1 = *lasts; - while (*s1 && strchr(s2, *s1)) - ++s1; - if (*s1 == '\0') - return NULL; - ret = s1; - while (*s1 && !strchr(s2, *s1)) - ++s1; - if (*s1) - *s1++ = '\0'; - *lasts = s1; - return ret; -} - diff --git a/vs2010/port/strtok_r.h b/vs2010/port/strtok_r.h deleted file mode 100644 index a8203590cf..0000000000 --- a/vs2010/port/strtok_r.h +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////// -// File: strtok_r.h -// Description: Header file for strtok_r.cpp -// source: https://github.com/heimdal/heimdal/blob/master/lib/roken/ -// strtok_r.c -// Author: zdenop -// Created: Fri Aug 12 23:55:06 CET 2011 -// -// (C) Copyright 2011, Google Inc. -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -/////////////////////////////////////////////////////////////////////// - -#ifndef VS2010_PORT_STRTOK_R_H_ -#define VS2010_PORT_STRTOK_R_H_ - -char *strtok_r(char *s1, const char *s2, char **lasts); - -#endif // VS2010_PORT_STRTOK_R_H_