summaryrefslogtreecommitdiff
path: root/x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch')
-rw-r--r--x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch b/x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch
new file mode 100644
index 000000000000..ebf090f30bcd
--- /dev/null
+++ b/x11-misc/xplanet/files/xplanet-1.3.1-narrowing_conversion.patch
@@ -0,0 +1,87 @@
+diff -Naur xplanet-1.3.1.orig/src/readConfig.cpp xplanet-1.3.1/src/readConfig.cpp
+--- xplanet-1.3.1.orig/src/readConfig.cpp 2013-02-16 20:37:47.000000000 +0100
++++ xplanet-1.3.1/src/readConfig.cpp 2021-12-21 10:06:22.434195435 +0100
+@@ -46,10 +46,10 @@
+ {
+ case ARC_COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->ArcColor(color);
+ }
+ else
+@@ -176,10 +176,10 @@
+ break;
+ case COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->Color(color);
+ }
+ else
+@@ -241,10 +241,10 @@
+ break;
+ case GRID_COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->GridColor(color);
+ }
+ else
+@@ -293,10 +293,10 @@
+ break;
+ case MARKER_COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->MarkerColor(color);
+ }
+ else
+@@ -400,10 +400,10 @@
+ break;
+ case ORBIT_COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->OrbitColor(color);
+ }
+ else
+@@ -470,10 +470,10 @@
+ break;
+ case TEXT_COLOR:
+ {
+- int r, g, b;
+- if (sscanf(returnString, "%d,%d,%d", &r, &g, &b) == 3)
++ unsigned char r, g, b;
++ if (sscanf(returnString, "%hhu,%hhu,%hhu", &r, &g, &b) == 3)
+ {
+- unsigned char color[3] = { r & 0xff, g & 0xff, b & 0xff };
++ unsigned char color[3] = { r, g, b };
+ currentProperties->TextColor(color);
+ }
+ else