| | 368 | | vpvmlogprintf(fmt, ap) | | | 369 | | char *fmt; | | | 370 | | va_list ap; | | | 371 | | { | | | 372 | | char vtmp[1024]; | | | 373 | | char *truncated; | | | 374 | | int cnt = 0; | | | 375 | | int cc; | | | 376 | | | | | 377 | | #ifdef TIMESTAMPLOG | | | 378 | | time_t now; | | | 379 | | struct tm *tmp; | | | 380 | | | | | 381 | | time(&now); | | | 382 | | tmp = localtime(&now); | | | 383 | | #endif | | | 384 | | | | | 385 | | | | | 386 | | | | | 387 | | | | | 388 | | | | | 389 | | | | | 390 | | cc = vsnprintf(vtmp, sizeof(vtmp), fmt, ap); | | Always True: cc >= 0 | 391 | | truncated = ( cc >= 0 && cc < sizeof(vtmp) ) | | | 392 | | ? "" : "[...]\n"; | | | 393 | | | | | 394 | | if (log_how & 1) { | | | 395 | | if (atnewline) { | | | 396 | | if (pvmmytid) | | | 397 | | fprintf(stderr, "[t%x] ", pvmmytid); | | | 398 | | else | | | 399 | | fprintf(stderr, "[pvmd pid%d] ", pvmmyupid); | | | 400 | | | | | 401 | | #ifdef TIMESTAMPLOG | | | 402 | | fprintf(stderr, "%02d/%02d %02d:%02d:%02d ", | | | 403 | | tmp->tm_mon + 1, | | | 404 | | tmp->tm_mday, | | | 405 | | tmp->tm_hour, | | | 406 | | tmp->tm_min, | | | 407 | | tmp->tm_sec); | | | 408 | | #endif | | | 409 | | } | | | 410 | | | | | 411 | | cc = fprintf(stderr, "%s%s", vtmp, truncated); | | | 412 | | cnt = ( cc >= 0 ) ? cnt + cc : cc; | | | 413 | | fflush(stderr); | | | 414 | | } | | | 415 | | | | | 416 | | if (log_how & 2) { | | | 417 | | if (log_alrdy < pvmdlogmax) { | | | 418 | | if (atnewline) { | | | 419 | | if (pvmmytid) | | | 420 | | fprintf(log_ff, "[t%x] ", pvmmytid); | | | 421 | | else | | | 422 | | fprintf(log_ff, "[pvmd pid%d] ", pvmmyupid); | | | 423 | | | | | 424 | | #ifdef TIMESTAMPLOG | | | 425 | | fprintf(log_ff, "%02d/%02d %02d:%02d:%02d ", | | | 426 | | tmp->tm_mon + 1, | | | 427 | | tmp->tm_mday, | | | 428 | | tmp->tm_hour, | | | 429 | | tmp->tm_min, | | | 430 | | tmp->tm_sec); | | | 431 | | #endif | | | 432 | | } | | | 433 | | | | | 434 | | | | | 435 | | cc = fprintf(log_ff, "%s%s", vtmp, truncated); | | | 436 | | cnt = ( cnt >= 0 ) ? ( ( cc >= 0 ) ? cnt + cc : cc ) : cnt; | | | 437 | | fflush(log_ff); | | | 438 | | | | | 439 | | if ((log_alrdy += cnt) >= pvmdlogmax) | | | 440 | | (void)write(log_fd, toomuch, strlen(toomuch)); | | | 441 | | } | | | 442 | | } | | | 443 | | | | | 444 | | atnewline = (fmt[strlen(fmt) - 1] == '\n') ? 1 : 0; | | | 445 | | | | | 446 | | | | | 447 | | | | | 448 | | | | | 449 | | | | | 450 | | | | | 451 | | | | | 452 | | return(cnt); | | | 453 | | } |
|