511 |
|
|
512 |
|
switch (s->type) { |
513 |
|
case LONG_LONG: |
514 |
+ |
#ifdef WIN32 /* Windows printf does not understand %lld, so use %I64d instead */ |
515 |
+ |
printf("%I64d", *(long long *)v); |
516 |
+ |
#else |
517 |
|
printf("%lld", *(long long *)v); |
518 |
+ |
#endif |
519 |
|
break; |
520 |
|
case BYTES: |
521 |
|
llv = *(long long *)v; |
522 |
|
if (bytes_scale_factor != 0) { |
523 |
|
llv /= bytes_scale_factor; |
524 |
|
} |
525 |
+ |
#ifdef WIN32 |
526 |
+ |
printf("%I64d", llv); |
527 |
+ |
#else |
528 |
|
printf("%lld", llv); |
529 |
+ |
#endif |
530 |
|
break; |
531 |
|
case TIME_T: |
532 |
|
/* FIXME option for formatted time? */ |
742 |
|
/* We don't care if sg_init fails, because we can just display |
743 |
|
the statistics that can be read as non-root. */ |
744 |
|
sg_init(); |
745 |
+ |
sg_snapshot(); |
746 |
|
if (sg_drop_privileges() != 0) |
747 |
|
die("Failed to drop setuid/setgid privileges"); |
748 |
|
|
754 |
|
case REPEAT_ONCE: |
755 |
|
get_stats(); |
756 |
|
sleep(repeat_time); |
757 |
+ |
sg_snapshot(); |
758 |
|
get_stats(); |
759 |
|
print_stats(argc, argv); |
760 |
|
break; |
764 |
|
print_stats(argc, argv); |
765 |
|
printf("\n"); |
766 |
|
sleep(repeat_time); |
767 |
+ |
sg_snapshot(); |
768 |
|
} |
769 |
|
} |
770 |
|
|
772 |
|
printf("\n"); |
773 |
|
printf("statgrab\n"); |
774 |
|
} |
775 |
+ |
|
776 |
+ |
sg_shutdown(); |
777 |
|
|
778 |
|
return 0; |
779 |
|
} |