(root)/
gettext-0.22.4/
gettext-tools/
gnulib-lib/
strcspn.c
       1  /* Copyright (C) 1991, 1994, 1996-1997, 2002-2003, 2005-2006, 2009-2023 Free
       2   * Software Foundation, Inc.
       3  
       4     NOTE: The canonical source of this file is maintained with the GNU C Library.
       5     Bugs can be reported to bug-glibc@gnu.org.
       6  
       7     This file is free software: you can redistribute it and/or modify
       8     it under the terms of the GNU Lesser General Public License as
       9     published by the Free Software Foundation, either version 3 of the
      10     License, or (at your option) any later version.
      11  
      12     This file is distributed in the hope that it will be useful,
      13     but WITHOUT ANY WARRANTY; without even the implied warranty of
      14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      15     GNU Lesser General Public License for more details.
      16  
      17     You should have received a copy of the GNU Lesser General Public License
      18     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      19  
      20  #include <config.h>
      21  
      22  #include <stddef.h>
      23  #include <string.h>
      24  
      25  #if _LIBC
      26  # undef strcspn
      27  #endif
      28  
      29  /* Return the length of the maximum initial segment of S
      30     which contains no characters from REJECT.  */
      31  size_t
      32  strcspn (const char *s, const char *reject)
      33  {
      34    size_t count = 0;
      35  
      36    while (*s != '\0')
      37      if (strchr (reject, *s++) == NULL)
      38        ++count;
      39      else
      40        return count;
      41  
      42    return count;
      43  }