Changeset 3229 in kBuild
- Timestamp:
- May 29, 2018 9:05:04 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/output.c
r3211 r3229 451 451 } 452 452 453 #endif /* CONFIG_WITH_OUTPUT_IN_MEMORY */ 454 453 455 /* write/fwrite like function, text mode. */ 454 456 ssize_t 455 457 output_write_text (struct output *out, int is_err, const char *src, size_t len) 456 458 { 459 #ifdef CONFIG_WITH_OUTPUT_IN_MEMORY 457 460 # if defined (KBUILD_OS_WINDOWS) || defined (KBUILD_OS_OS2) || defined (KBUILD_OS_DOS) 458 461 ssize_t ret = len; … … 489 492 return output_write_bin (out, is_err, src, len); 490 493 # endif 491 } 492 493 #endif /* CONFIG_WITH_OUTPUT_IN_MEMORY */ 494 #else 495 ssize_t ret = len; 496 if (! out || ! out->syncout) 497 { 498 FILE *f = is_err ? stderr : stdout; 499 # ifdef KBUILD_OS_WINDOWS 500 maybe_con_fwrite(src, len, 1, f); 501 # else 502 fwrite (src, len, 1, f); 503 # endif 504 fflush (f); 505 } 506 else 507 { 508 int fd = is_err ? out->err : out->out; 509 int r; 510 511 EINTRLOOP (r, lseek (fd, 0, SEEK_END)); 512 while (1) 513 { 514 EINTRLOOP (r, write (fd, src, len)); 515 if (r == len || r <= 0) 516 break; 517 len -= r; 518 src += r; 519 } 520 } 521 return ret; 522 #endif 523 } 524 494 525 495 526
Note:
See TracChangeset
for help on using the changeset viewer.