GCC Code Coverage Report


Directory: ./
File: lib/my/my_strncmp.c
Date: 2024-06-05 00:36:48
Exec Total Coverage
Lines: 15 15 100.0%
Functions: 1 1 100.0%
Branches: 16 18 88.9%

Line Branch Exec Source
1 /*
2 ** EPITECH PROJECT, 2023
3 ** my_strncmp
4 ** File description:
5 ** Returns 0 if the strings (s1 and s2) are identical,
6 ** otherwise it returns the difference
7 */
8 /**
9 * @file my_strncmp.c
10 * @brief The file containing the my_strncmp function
11 * @author Nicolas TORO
12 */
13
14 #include "my.h"
15
16 542517 int my_strncmp(char const *s1, char const *s2, int n)
17 {
18 542517 int i = 0;
19
20
4/4
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 542515 times.
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
542517 if (s1 == NULL && s2 == NULL)
21 1 return 0;
22
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 542515 times.
542516 if (s1 == NULL)
23 1 return 0 - s2[0];
24
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 542514 times.
542515 if (s2 == NULL)
25 1 return s1[0] - 0;
26
4/6
✓ Branch 0 taken 547233 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 547233 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 373225 times.
✓ Branch 5 taken 174008 times.
547233 while (s1[i] != '\0' && s2[i] != '\0' && i + 1 < n) {
27
2/2
✓ Branch 0 taken 187681 times.
✓ Branch 1 taken 185544 times.
373225 if (s1[i] < s2[i])
28 187681 return s1[i] - s2[i];
29
2/2
✓ Branch 0 taken 180825 times.
✓ Branch 1 taken 4719 times.
185544 if (s1[i] > s2[i])
30 180825 return s1[i] - s2[i];
31 4719 i++;
32 }
33 174008 return s1[i] - s2[i];
34 }
35