OpenCoverage

memcasecmp.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/coreutils/src/gnulib/lib/memcasecmp.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* Case-insensitive buffer comparator.-
2 Copyright (C) 1996-1997, 2000, 2003, 2006, 2009-2018 Free Software-
3 Foundation, Inc.-
4-
5 This program is free software: you can redistribute it and/or modify-
6 it under the terms of the GNU General Public License as published by-
7 the Free Software Foundation; either version 3 of the License, or-
8 (at your option) any later version.-
9-
10 This program is distributed in the hope that it will be useful,-
11 but WITHOUT ANY WARRANTY; without even the implied warranty of-
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the-
13 GNU General Public License for more details.-
14-
15 You should have received a copy of the GNU General Public License-
16 along with this program. If not, see <https://www.gnu.org/licenses/>. */-
17-
18/* Written by Jim Meyering. */-
19-
20#include <config.h>-
21-
22#include "memcasecmp.h"-
23-
24#include <ctype.h>-
25#include <limits.h>-
26-
27/* Like memcmp, but ignore differences in case.-
28 Convert to upper case (not lower) before comparing so that-
29 join -i works with sort -f. */-
30-
31int-
32memcasecmp (const void *vs1, const void *vs2, size_t n)-
33{-
34 size_t i;-
35 char const *s1 = vs1;-
36 char const *s2 = vs2;-
37 for (i = 0; i < n; i++)
i < nDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • uniq
FALSEevaluated 12 times by 1 test
Evaluated by:
  • uniq
12
38 {-
39 unsigned char u1 = s1[i];-
40 unsigned char u2 = s2[i];-
41 int U1 = toupper (u1);
never executed: end of block
never executed: __res = toupper ( u1 );
executed 12 times by 1 test: __res = (*__ctype_toupper_loc ())[(int) ( u1 )];
Executed by:
  • uniq
sizeof ( u1 ) > 1Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • uniq
__builtin_constant_p ( u1 )Description
TRUEnever evaluated
FALSEnever evaluated
__c < -128Description
TRUEnever evaluated
FALSEnever evaluated
__c > 255Description
TRUEnever evaluated
FALSEnever evaluated
0-12
42 int U2 = toupper (u2);
never executed: end of block
never executed: __res = toupper ( u2 );
executed 12 times by 1 test: __res = (*__ctype_toupper_loc ())[(int) ( u2 )];
Executed by:
  • uniq
sizeof ( u2 ) > 1Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • uniq
__builtin_constant_p ( u2 )Description
TRUEnever evaluated
FALSEnever evaluated
__c < -128Description
TRUEnever evaluated
FALSEnever evaluated
__c > 255Description
TRUEnever evaluated
FALSEnever evaluated
0-12
43 int diff = (UCHAR_MAX <= INT_MAX ? U1 - U2
(0x7f * 2 + 1) <= 0x7fffffffDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • uniq
FALSEnever evaluated
0-12
44 : U1 < U2 ? -1 : U2 < U1);
U1 < U2Description
TRUEnever evaluated
FALSEnever evaluated
0
45 if (diff)
diffDescription
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • uniq
0-12
46 return diff;
never executed: return diff;
0
47 }
executed 12 times by 1 test: end of block
Executed by:
  • uniq
12
48 return 0;
executed 12 times by 1 test: return 0;
Executed by:
  • uniq
12
49}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.1.2