JDimproved / JDim

2ch browser for linux
https://jdimproved.github.io/JDim/
GNU General Public License v2.0
44 stars 11 forks source link

Fix compiler warnings for -Wimplicit-int-conversion part2 #1384

Closed ma8ma closed 2 months ago

ma8ma commented 2 months ago

整数型の変数をサイズが小さい整数型へ暗黙的に変換している箇所は精度が失う可能性があるとclangに指摘されたため明示的にキャストstatic_cast<...>()を使ったり、整数型を変更してコンパイラに意図した変更であると伝えます。

clang 17のレポート (file pathを一部省略)

src/aamanager.cpp:125:42: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
  125 |             if( id <= 9 ) shortcut = '0' + id;
      |                                    ~ ~~~~^~~~
src/aamanager.cpp:127:37: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
  127 |                 shortcut = 'a' + id - base_a;
      |                          ~ ~~~~~~~~~^~~~~~~~
src/aamanager.cpp:132:37: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
  132 |                 shortcut = 'A' + id - base_A;
      |                          ~ ~~~~~~~~~^~~~~~~~
src/aamanager.cpp:256:18: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
  256 |     tmpchar[0] = key;
      |                ~ ^~~
src/dbtree/nodetreebase.cpp:1019:31: warning: implicit conversion loses integer precision: 'const int' to 'unsigned char' [-Wimplicit-int-conversion]
 1019 |         tmpnode->color_text = color_text;
      |                             ~ ^~~~~~~~~~
src/dbtree/nodetreebase.cpp:1020:31: warning: implicit conversion loses integer precision: 'const int' to 'unsigned char' [-Wimplicit-int-conversion]
 1020 |         tmpnode->color_back = color_back;
      |                             ~ ^~~~~~~~~~
src/urlreplacemanager.cpp:114:41: warning: implicit conversion loses integer precision: 'int' to 'value_type' (aka 'char') [-Wimplicit-int-conversion]
  114 |             tgt_text[1] = rep_text[1] = n;
      |                                       ~ ^