Mercurial > vim
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 } |