wok-next annotate xplanet/stuff/patches/gcc-6.patch @ rev 20342

gkII: tiny png patch
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Nov 17 15:57:17 2017 +0100 (2017-11-17)
parents
children
rev   line source
al@20241 1 Description: Fix compilation with gcc/g++ 6
al@20241 2 Multiple inFile.getline() calls within xplanet test the return
al@20241 3 against NULL in a read loop, but g++ 6 doesn't like this. Replace
al@20241 4 with checks for inFile.eof() and inFile.fail() instead.
al@20241 5 Author: Steve McIntyre <93sam@debian.org>
al@20241 6 Bug-Debian: https://bugs.debian.org/811820
al@20241 7 Forwarded: Hari Nair <hari@alumni.caltech.edu>
al@20241 8 Last-Update: 2016-07-18
al@20241 9
al@20241 10 --- xplanet-1.3.0.orig/src/libannotate/addArcs.cpp
al@20241 11 +++ xplanet-1.3.0/src/libannotate/addArcs.cpp
al@20241 12 @@ -258,10 +258,14 @@ addArcs(PlanetProperties *planetProperti
al@20241 13 {
al@20241 14 ifstream inFile(arcFile.c_str());
al@20241 15 char *line = new char[MAX_LINE_LENGTH];
al@20241 16 - while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 17 - readArcFile(line, planet, view, projection,
al@20241 18 - planetProperties, annotationMap);
al@20241 19 -
al@20241 20 + while (1)
al@20241 21 + {
al@20241 22 + inFile.getline (line, MAX_LINE_LENGTH, '\n');
al@20241 23 + if (inFile.eof() || inFile.fail())
al@20241 24 + break;
al@20241 25 + readArcFile(line, planet, view, projection,
al@20241 26 + planetProperties, annotationMap);
al@20241 27 + }
al@20241 28 inFile.close();
al@20241 29 delete [] line;
al@20241 30 }
al@20241 31 @@ -292,9 +296,13 @@ addArcs(View *view, multimap<double, Ann
al@20241 32 {
al@20241 33 ifstream inFile(arcFile.c_str());
al@20241 34 char *line = new char[256];
al@20241 35 - while (inFile.getline (line, 256, '\n') != NULL)
al@20241 36 - readArcFile(line, NULL, view, NULL, NULL, annotationMap);
al@20241 37 -
al@20241 38 + while (1)
al@20241 39 + {
al@20241 40 + inFile.getline (line, 256, '\n');
al@20241 41 + if (inFile.eof() || inFile.fail())
al@20241 42 + break;
al@20241 43 + readArcFile(line, NULL, view, NULL, NULL, annotationMap);
al@20241 44 + }
al@20241 45 inFile.close();
al@20241 46 delete [] line;
al@20241 47 }
al@20241 48 --- xplanet-1.3.0.orig/src/libannotate/addMarkers.cpp
al@20241 49 +++ xplanet-1.3.0/src/libannotate/addMarkers.cpp
al@20241 50 @@ -423,13 +423,16 @@ addMarkers(PlanetProperties *planetPrope
al@20241 51 {
al@20241 52 ifstream inFile(markerFile.c_str());
al@20241 53 char *line = new char[MAX_LINE_LENGTH];
al@20241 54 - while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 55 + while (1)
al@20241 56 {
al@20241 57 unsigned char color[3];
al@20241 58 memcpy(color, planetProperties->MarkerColor(), 3);
al@20241 59 string font(planetProperties->MarkerFont());
al@20241 60 int fontSize(planetProperties->MarkerFontSize());
al@20241 61
al@20241 62 + inFile.getline (line, MAX_LINE_LENGTH, '\n');
al@20241 63 + if (inFile.eof() || inFile.fail())
al@20241 64 + break;
al@20241 65 readMarkerFile(line, planet, pixel_radius, X, Y, Z,
al@20241 66 view, projection, width, height,
al@20241 67 color, font, fontSize,
al@20241 68 @@ -469,13 +472,18 @@ addMarkers(View *view, const int width,
al@20241 69 {
al@20241 70 ifstream inFile(markerFile.c_str());
al@20241 71 char *line = new char[MAX_LINE_LENGTH];
al@20241 72 - while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 73 - {
al@20241 74 + while (1)
al@20241 75 + {
al@20241 76 + inFile.getline (line, MAX_LINE_LENGTH, '\n');
al@20241 77 +
al@20241 78 unsigned char color[3];
al@20241 79 memcpy(color, options->Color(), 3);
al@20241 80 string font(options->Font());
al@20241 81 int fontSize(options->FontSize());
al@20241 82
al@20241 83 + if (inFile.eof() || inFile.fail())
al@20241 84 + break;
al@20241 85 +
al@20241 86 readMarkerFile(line, NULL, 0, 0, 0, 0,
al@20241 87 view, NULL, width, height,
al@20241 88 color, font, fontSize, 1.0,
al@20241 89 --- xplanet-1.3.0.orig/src/libannotate/addSatellites.cpp
al@20241 90 +++ xplanet-1.3.0/src/libannotate/addSatellites.cpp
al@20241 91 @@ -488,11 +488,23 @@ loadSatelliteVector(PlanetProperties *pl
al@20241 92 {
al@20241 93 ifstream inFile(tleFile.c_str());
al@20241 94 char lines[3][80];
al@20241 95 - while (inFile.getline(lines[0], 80) != NULL)
al@20241 96 - {
al@20241 97 - if ((inFile.getline(lines[1], 80) == NULL)
al@20241 98 - || (inFile.getline(lines[2], 80) == NULL))
al@20241 99 - {
al@20241 100 + bool malformed_file = false;
al@20241 101 + while (1)
al@20241 102 + {
al@20241 103 + inFile.getline(lines[0], 80);
al@20241 104 + if (inFile.eof() || inFile.fail())
al@20241 105 + break;
al@20241 106 + inFile.getline(lines[1], 80);
al@20241 107 + if (inFile.eof() || inFile.fail())
al@20241 108 + malformed_file = true;
al@20241 109 + else
al@20241 110 + {
al@20241 111 + inFile.getline(lines[2], 80);
al@20241 112 + if (inFile.eof() || inFile.fail())
al@20241 113 + malformed_file = true;
al@20241 114 + }
al@20241 115 + if (malformed_file)
al@20241 116 + {
al@20241 117 ostringstream errStr;
al@20241 118 errStr << "Malformed TLE file (" << tleFile << ")?\n";
al@20241 119 xpWarn(errStr.str(), __FILE__, __LINE__);
al@20241 120 @@ -542,10 +554,14 @@ addSatellites(PlanetProperties *planetPr
al@20241 121 {
al@20241 122 ifstream inFile(satFile.c_str());
al@20241 123 char *line = new char[MAX_LINE_LENGTH];
al@20241 124 - while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 125 + while (1)
al@20241 126 + {
al@20241 127 + inFile.getline (line, MAX_LINE_LENGTH, '\n');
al@20241 128 + if (inFile.eof() || inFile.fail())
al@20241 129 + break;
al@20241 130 readSatelliteFile(line, planet, view, projection,
al@20241 131 planetProperties, annotationMap);
al@20241 132 -
al@20241 133 + }
al@20241 134 inFile.close();
al@20241 135 delete [] line;
al@20241 136 }
al@20241 137 --- xplanet-1.3.0.orig/src/libmultiple/RayleighScattering.cpp
al@20241 138 +++ xplanet-1.3.0/src/libmultiple/RayleighScattering.cpp
al@20241 139 @@ -369,8 +369,12 @@ RayleighScattering::readConfigFile(strin
al@20241 140
al@20241 141 diskTemplate_.clear();
al@20241 142 limbTemplate_.clear();
al@20241 143 - while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 144 + while (1)
al@20241 145 {
al@20241 146 + inFile.getline(line, MAX_LINE_LENGTH, '\n');
al@20241 147 + if (inFile.eof() || inFile.fail())
al@20241 148 + break;
al@20241 149 +
al@20241 150 int i = 0;
al@20241 151 while (isDelimiter(line[i]))
al@20241 152 {
al@20241 153 @@ -439,8 +443,12 @@ RayleighScattering::readBlock(ifstream &
al@20241 154 values.clear();
al@20241 155
al@20241 156 char line[MAX_LINE_LENGTH];
al@20241 157 - while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 158 + while (1)
al@20241 159 {
al@20241 160 + inFile.getline(line, MAX_LINE_LENGTH, '\n');
al@20241 161 + if (inFile.eof() || inFile.fail())
al@20241 162 + break;
al@20241 163 +
al@20241 164 int i = 0;
al@20241 165 while (isDelimiter(line[i]))
al@20241 166 {
al@20241 167 @@ -470,8 +478,12 @@ RayleighScattering::readValue(ifstream &
al@20241 168 double &value)
al@20241 169 {
al@20241 170 char line[MAX_LINE_LENGTH];
al@20241 171 - while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 172 + while (1)
al@20241 173 {
al@20241 174 + inFile.getline(line, MAX_LINE_LENGTH, '\n');
al@20241 175 + if (inFile.eof() || inFile.fail())
al@20241 176 + break;
al@20241 177 +
al@20241 178 int i = 0;
al@20241 179 while (isDelimiter(line[i]))
al@20241 180 {
al@20241 181 --- xplanet-1.3.0.orig/src/libmultiple/drawStars.cpp
al@20241 182 +++ xplanet-1.3.0/src/libmultiple/drawStars.cpp
al@20241 183 @@ -41,8 +41,12 @@ drawStars(DisplayBase *display, View *vi
al@20241 184 ifstream inFile(starMap.c_str());
al@20241 185
al@20241 186 char line[MAX_LINE_LENGTH];
al@20241 187 - while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL)
al@20241 188 + while (1)
al@20241 189 {
al@20241 190 + inFile.getline(line, MAX_LINE_LENGTH, '\n');
al@20241 191 + if (inFile.eof() || inFile.fail())
al@20241 192 + break;
al@20241 193 +
al@20241 194 if (line[0] == '#') continue;
al@20241 195
al@20241 196 double Vmag, RA, Dec;
al@20241 197 --- xplanet-1.3.0.orig/src/readConfig.cpp
al@20241 198 +++ xplanet-1.3.0/src/readConfig.cpp
al@20241 199 @@ -550,9 +550,13 @@ readConfigFile(string configFile, Planet
al@20241 200
al@20241 201 ifstream inFile(configFile.c_str());
al@20241 202 char *line = new char[256];
al@20241 203 - while (inFile.getline(line, 256, '\n') != NULL)
al@20241 204 + while (1)
al@20241 205 + {
al@20241 206 + inFile.getline(line, 256, '\n');
al@20241 207 + if (inFile.eof() || inFile.fail())
al@20241 208 + break;
al@20241 209 readConfig(line, planetProperties);
al@20241 210 -
al@20241 211 + }
al@20241 212 // This condition will only be true if [default] is the only
al@20241 213 // section in the config file. In this case, set all planet
al@20241 214 // properties to the default values.