Coverage Report

Created: 2026-01-25 07:18

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/gettext-0.26/gettext-tools/libgettextpo/unistr/u8-next.c
Line
Count
Source
1
/* Iterate over next character in UTF-8 string.
2
   Copyright (C) 2002, 2006, 2009-2025 Free Software Foundation, Inc.
3
   Written by Bruno Haible <bruno@clisp.org>, 2002.
4
5
   This file is free software.
6
   It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
7
   You can redistribute it and/or modify it under either
8
     - the terms of the GNU Lesser General Public License as published
9
       by the Free Software Foundation, either version 3, or (at your
10
       option) any later version, or
11
     - the terms of the GNU General Public License as published by the
12
       Free Software Foundation; either version 2, or (at your option)
13
       any later version, or
14
     - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".
15
16
   This file is distributed in the hope that it will be useful,
17
   but WITHOUT ANY WARRANTY; without even the implied warranty of
18
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19
   Lesser General Public License and the GNU General Public License
20
   for more details.
21
22
   You should have received a copy of the GNU Lesser General Public
23
   License and of the GNU General Public License along with this
24
   program.  If not, see <https://www.gnu.org/licenses/>.  */
25
26
/* Don't use the const-improved function macros in this compilation unit.  */
27
#define _LIBUNISTRING_NO_CONST_GENERICS
28
29
#include <config.h>
30
31
/* Specification.  */
32
#include "unistr.h"
33
34
const uint8_t *
35
u8_next (ucs4_t *puc, const uint8_t *s)
36
0
{
37
0
  int count;
38
39
0
  count = u8_strmbtouc (puc, s);
40
0
  if (count > 0)
41
0
    return s + count;
42
0
  else
43
0
    {
44
0
      if (count < 0)
45
0
        *puc = 0xfffd;
46
      return NULL;
47
0
    }
48
0
}