1 From 299e5e8c38de9be99b86885c1af60dd5e1cc9888 Mon Sep 17 00:00:00 2001
2 From: Ondrej Mosnacek <omosnace@redhat.com>
3 Date: Mon, 17 May 2021 22:19:32 +0200
4 Subject: [PATCH] docproc: fix -Wconversion warnings on 32-bit
6 On i686, GCC 11.1.1 complains:
8 lib/doc/bin/docproc.c: In function 'find_all_symbols':
9 lib/doc/bin/docproc.c:433:17: error: conversion to 'ssize_t' {aka 'int'} from 'unsigned int' may change the sign of the result [-Werror=sign-conversion]
10 433 | start = all_list_len;
12 lib/doc/bin/docproc.c:441:48: error: comparison of integer expressions of different signedness: 'ssize_t' {aka 'int'} and 'unsigned int' [-Werror=sign-compare]
13 441 | for (i = 0; i < (int)data_len && start != all_list_len; i++) {
15 cc1: all warnings being treated as errors
18 Fix this by declaring all of all_list_len, i, count, and start as
19 size_t and remove a few casts that are no longer necessary.
21 Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
22 Signed-off-by: Stephan Mueller <smueller@chronox.de>
24 lib/doc/bin/docproc.c | 14 +++++++-------
25 1 file changed, 7 insertions(+), 7 deletions(-)
27 diff --git a/lib/doc/bin/docproc.c b/lib/doc/bin/docproc.c
28 index 556d5d4..74b3cdb 100644
29 --- a/lib/doc/bin/docproc.c
30 +++ b/lib/doc/bin/docproc.c
31 @@ -77,11 +77,11 @@ FILELINE * docsection;
32 static char *srctree, *kernsrctree;
34 static char **all_list = NULL;
35 -static unsigned int all_list_len = 0;
36 +static size_t all_list_len = 0;
38 static void consume_symbol(const char *sym)
43 for (i = 0; i < all_list_len; i++) {
45 @@ -361,11 +361,11 @@ static void find_all_symbols(char *filename)
47 char *vec[4]; /* kerneldoc -list file NULL */
49 - ssize_t ret, i, count, start;
51 char real_filename[PATH_MAX + 1];
54 - size_t data_len = 0;
55 + size_t i, count, start, data_len = 0;
59 @@ -424,21 +424,21 @@ static void find_all_symbols(char *filename)
62 /* poor man's strtok, but with counting */
63 - for (i = 0; i < (int)data_len; i++) {
64 + for (i = 0; i < data_len; i++) {
65 if (data[i] == '\n') {
71 - all_list_len += (unsigned int)count;
72 + all_list_len += count;
73 all_list = realloc(all_list, sizeof(char *) * all_list_len);
79 - for (i = 0; i < (int)data_len && start != all_list_len; i++) {
80 + for (i = 0; i < data_len && start != all_list_len; i++) {
81 if (data[i] == '\0') {
82 all_list[start] = str;