comparison runtime/tools/ccfilter.c @ 19091:1c75e1974313 v8.2.0106

patch 8.2.0106: printf formats are not exactly right Commit: https://github.com/vim/vim/commit/b16ad968499aeb29b6ff9be6cc64fb41522a4a5e Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jan 8 22:06:14 2020 +0100 patch 8.2.0106: printf formats are not exactly right Problem: Printf formats are not exactly right. Solution: Adjust signed/unsigned conversions. (Frazer Clews, closes https://github.com/vim/vim/issues/5456)
author Bram Moolenaar <Bram@vim.org>
date Wed, 08 Jan 2020 22:15:03 +0100
parents 071f9da012fb
children 1629cc65d78d
comparison
equal deleted inserted replaced
19090:df1cb3cd21ab 19091:1c75e1974313
182 switch (COMPILER) 182 switch (COMPILER)
183 { 183 {
184 case COMPILER_GCC: 184 case COMPILER_GCC:
185 Severity = 'e'; 185 Severity = 'e';
186 #ifdef GOTO_FROM_WHERE_INCLUDED 186 #ifdef GOTO_FROM_WHERE_INCLUDED
187 rv = sscanf( Line, "In file included from %[^:]:%u:", 187 rv = sscanf( Line, "In file included from %[^:]:%lu:",
188 FileName, &Row ); 188 FileName, &Row );
189 if ( rv == 2 ) 189 if ( rv == 2 )
190 { 190 {
191 ok = (echogets(Reason, echo) != NULL); 191 ok = (echogets(Reason, echo) != NULL);
192 } 192 }
193 else 193 else
194 #endif 194 #endif
195 { 195 {
196 if ((rv = sscanf( Line, "%[^:]:%u: warning: %[^\n]", 196 if ((rv = sscanf( Line, "%[^:]:%lu: warning: %[^\n]",
197 FileName, &Row, Reason ))==3) { 197 FileName, &Row, Reason ))==3) {
198 Severity = 'w'; 198 Severity = 'w';
199 } else { 199 } else {
200 rv = sscanf( Line, "%[^:]:%u: %[^\n]", 200 rv = sscanf( Line, "%[^:]:%lu: %[^\n]",
201 FileName, &Row, Reason ); 201 FileName, &Row, Reason );
202 } 202 }
203 ok = ( rv == 3 ); 203 ok = ( rv == 3 );
204 } 204 }
205 Col = (dec_col ? 1 : 0 ); 205 Col = (dec_col ? 1 : 0 );
206 break; 206 break;
207 case COMPILER_AIX: 207 case COMPILER_AIX:
208 rv = sscanf( Line, "\"%[^\"]\", line %u.%u: %*s (%c) %[^\n]", 208 rv = sscanf( Line, "\"%[^\"]\", line %lu.%lu: %*s (%c) %[^\n]",
209 FileName, &Row, &Col, &Severity, Reason ); 209 FileName, &Row, &Col, &Severity, Reason );
210 ok = ( rv == 5 ); 210 ok = ( rv == 5 );
211 break; 211 break;
212 case COMPILER_HPUX: 212 case COMPILER_HPUX:
213 rv = sscanf( Line, "cc: \"%[^\"]\", line %u: %c%*[^:]: %[^\n]", 213 rv = sscanf( Line, "cc: \"%[^\"]\", line %lu: %c%*[^:]: %[^\n]",
214 FileName, &Row, &Severity, Reason ); 214 FileName, &Row, &Severity, Reason );
215 ok = ( rv == 4 ); 215 ok = ( rv == 4 );
216 Col = (dec_col ? 1 : 0 ); 216 Col = (dec_col ? 1 : 0 );
217 break; 217 break;
218 case COMPILER_SOLARIS: 218 case COMPILER_SOLARIS:
219 rv = sscanf( Line, "\"%[^\"]\", line %u: warning: %[^\n]", 219 rv = sscanf( Line, "\"%[^\"]\", line %lu: warning: %[^\n]",
220 FileName, &Row, Reason ); 220 FileName, &Row, Reason );
221 Severity = 'w'; 221 Severity = 'w';
222 ok = ( rv == 3 ); 222 ok = ( rv == 3 );
223 if ( rv != 3 ) 223 if ( rv != 3 )
224 { 224 {
225 rv = sscanf( Line, "\"%[^\"]\", line %u: %[^\n]", 225 rv = sscanf( Line, "\"%[^\"]\", line %lu: %[^\n]",
226 FileName, &Row, Reason ); 226 FileName, &Row, Reason );
227 Severity = 'e'; 227 Severity = 'e';
228 ok = ( rv == 3 ); 228 ok = ( rv == 3 );
229 } 229 }
230 Col = (dec_col ? 1 : 0 ); 230 Col = (dec_col ? 1 : 0 );
231 break; 231 break;
232 case COMPILER_ATT: 232 case COMPILER_ATT:
233 rv = sscanf( Line, "%c \"%[^\"]\",L%u/C%u%*[^:]:%[^\n]", 233 rv = sscanf( Line, "%c \"%[^\"]\",L%lu/C%lu%*[^:]:%[^\n]",
234 &Severity, FileName, &Row, &Col, Reason ); 234 &Severity, FileName, &Row, &Col, Reason );
235 ok = ( rv == 5 ); 235 ok = ( rv == 5 );
236 236
237 if (rv != 5) 237 if (rv != 5)
238 { rv = sscanf( Line, "%c \"%[^\"]\",L%u/C%u: %[^\n]", 238 { rv = sscanf( Line, "%c \"%[^\"]\",L%lu/C%lu: %[^\n]",
239 &Severity, FileName, &Row, &Col, Reason ); 239 &Severity, FileName, &Row, &Col, Reason );
240 ok = ( rv == 5 ); 240 ok = ( rv == 5 );
241 } 241 }
242 242
243 if (rv != 5) 243 if (rv != 5)
244 { rv = sscanf( Line, "%c \"%[^\"]\",L%u: %[^\n]", 244 { rv = sscanf( Line, "%c \"%[^\"]\",L%lu: %[^\n]",
245 &Severity, FileName, &Row, Reason ); 245 &Severity, FileName, &Row, Reason );
246 ok = ( rv == 4 ); 246 ok = ( rv == 4 );
247 Col = (dec_col ? 1 : 0 ); 247 Col = (dec_col ? 1 : 0 );
248 } 248 }
249 249
270 if (p == NULL) 270 if (p == NULL)
271 { ok = 0; 271 { ok = 0;
272 } 272 }
273 else 273 else
274 { 274 {
275 rv = sscanf( p+2, "%[^:]: %u: %[^\n]", 275 rv = sscanf( p+2, "%[^:]: %lu: %[^\n]",
276 FileName, &Row, Reason ); 276 FileName, &Row, Reason );
277 if (rv != 3) 277 if (rv != 3)
278 rv = sscanf( p+2, "%[^,], line %u: %[^\n]", 278 rv = sscanf( p+2, "%[^,], line %lu: %[^\n]",
279 FileName, &Row, Reason ); 279 FileName, &Row, Reason );
280 ok = ( rv == 3 ); 280 ok = ( rv == 3 );
281 } 281 }
282 282
283 if (ok) 283 if (ok)
313 } 313 }
314 else 314 else
315 { 315 {
316 for (p=Reason; (*p) && (isspace(*p)); p++); 316 for (p=Reason; (*p) && (isspace(*p)); p++);
317 if ( BasePath[CWDlen] == 0 ) 317 if ( BasePath[CWDlen] == 0 )
318 printf( "%s:%u:%u:%c:%s\n", FileName, Row, Col, Severity, p ); 318 printf( "%s:%lu:%lu:%c:%s\n", FileName, Row, Col, Severity, p );
319 else 319 else
320 { 320 {
321 printf( "%s/%s:%u:%u:%c:%s\n", &BasePath[CWDlen+1], FileName, Row, Col, Severity, p ); 321 printf( "%s/%s:%lu:%lu:%c:%s\n", &BasePath[CWDlen+1], FileName, Row, Col, Severity, p );
322 } 322 }
323 } 323 }
324 if (!prefetch) 324 if (!prefetch)
325 stay = ( echogets(Line, echo) != NULL ); 325 stay = ( echogets(Line, echo) != NULL );
326 } 326 }