Changeset 2904 in kBuild
- Timestamp:
- Sep 9, 2016 5:38:54 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/misc.c
r2745 r2904 296 296 if (fmt != 0) 297 297 { 298 #ifdef KBUILD_OS_WINDOWS 299 char szMsg[16384]; 300 int cchMsg = 0; 301 int cchUser; 302 if (prefix) 303 { 304 if (makelevel == 0) 305 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s: ", program); 306 else 307 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s[%u]: ", program, makelevel); 308 } 309 VA_START (args, fmt); 310 cchMsg += cchUser = vsnprintf (&szMsg[cchMsg], sizeof(szMsg) - cchMsg, fmt, args); 311 VA_END (args); 312 if ( cchMsg < sizeof(szMsg) 313 && cchUser >= 0) 314 { 315 extern size_t maybe_con_fwrite(void const *, size_t, size_t, FILE *); 316 szMsg[cchMsg++] = '\n'; 317 maybe_con_fwrite(szMsg, cchMsg, 1, stdout); 318 } 319 else 320 { 321 #endif 298 322 if (prefix) 299 323 { … … 307 331 VA_END (args); 308 332 putchar ('\n'); 333 #ifdef KBUILD_OS_WINDOWS 334 } 335 #endif 309 336 } 310 337 … … 327 354 va_list args; 328 355 #endif 356 #ifdef KMK 357 char szMsg[16384]; 358 int cchMsg = 0; 359 int cchUser; 360 #endif 329 361 330 362 log_working_directory (1); 363 364 #ifdef KMK /* Try avoid getting the error split by child output. */ 365 if (flocp && flocp->filenm) 366 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s:%lu: ", flocp->filenm, flocp->lineno); 367 else if (makelevel == 0) 368 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s: ", program); 369 else 370 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s[%u]: ", program, makelevel); 371 372 VA_START (args, fmt); 373 cchMsg += cchUser = vsnprintf (&szMsg[cchMsg], sizeof(szMsg) - cchMsg, fmt, args); 374 VA_END (args); 375 if ( cchMsg < sizeof(szMsg) 376 && cchUser >= 0) 377 { 378 extern size_t maybe_con_fwrite(void const *, size_t, size_t, FILE *); 379 szMsg[cchMsg++] = '\n'; 380 maybe_con_fwrite(szMsg, cchMsg, 1, stderr); 381 } 382 else 383 { 384 #endif /* KMK */ 331 385 332 386 if (flocp && flocp->filenm) … … 342 396 343 397 putc ('\n', stderr); 398 #ifdef KMK 399 } 400 #endif 344 401 fflush (stderr); 345 402 } … … 360 417 va_list args; 361 418 #endif 419 #ifdef KMK 420 char szMsg[16384]; 421 int cchMsg = 0; 422 int cchUser; 423 const char *pszStop = _(". Stop.\n"); 424 int cchStop = (int)strlen(pszStop); 425 #endif 362 426 363 427 log_working_directory (1); 364 428 429 #ifdef KMK /* Try avoid getting the error split by child output. */ 430 if (flocp && flocp->filenm) 431 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s:%lu: *** ", flocp->filenm, flocp->lineno); 432 else if (makelevel == 0) 433 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s: *** ", program); 434 else 435 cchMsg = snprintf (szMsg, sizeof(szMsg), "%s[%u]: *** ", program, makelevel); 436 437 VA_START (args, fmt); 438 cchMsg += cchUser = vsnprintf (&szMsg[cchMsg], sizeof(szMsg) - cchMsg, fmt, args); 439 VA_END (args); 440 if ( cchMsg + cchStop <= sizeof(szMsg) 441 && cchUser >= 0) 442 { 443 extern size_t maybe_con_fwrite(void const *, size_t, size_t, FILE *); 444 memcpy(&szMsg[cchMsg], pszStop, cchStop); 445 cchMsg += cchStop; 446 maybe_con_fwrite(szMsg, cchMsg, 1, stderr); 447 } 448 else 449 { 450 #endif /* KMK */ 365 451 if (flocp && flocp->filenm) 366 452 fprintf (stderr, "%s:%lu: *** ", flocp->filenm, flocp->lineno); … … 375 461 376 462 fputs (_(". Stop.\n"), stderr); 463 #ifdef KMK 464 } 465 #endif 377 466 378 467 die (2);
Note:
See TracChangeset
for help on using the changeset viewer.