67 строки
1.4 KiB
Diff
67 строки
1.4 KiB
Diff
--- netkit-rusers-0.17/rup/rup.c.rup Sat Jul 22 21:51:40 2000
|
|
+++ netkit-rusers-0.17/rup/rup.c Wed Jul 17 15:08:17 2002
|
|
@@ -256,19 +256,48 @@
|
|
memset(&host_stat, 0, sizeof(host_stat));
|
|
if (clnt_call(rstat_clnt, RSTATPROC_STATS,
|
|
(xdrproc_t) xdr_void, NULL,
|
|
- (xdrproc_t) xdr_statstime, &host_stat,
|
|
+ (xdrproc_t) xdr_statstime,
|
|
+ (caddr_t) &host_stat,
|
|
+
|
|
foo) != RPC_SUCCESS)
|
|
{
|
|
warnx("%s", clnt_sperror(rstat_clnt, host));
|
|
return;
|
|
}
|
|
|
|
- print_rup_data(host, &host_stat);
|
|
+ if (sort_type != SORT_NONE) {
|
|
+ remember_rup_data(host, &host_stat);
|
|
+ } else {
|
|
+ print_rup_data(host, &host_stat);
|
|
+ }
|
|
clnt_destroy(rstat_clnt);
|
|
}
|
|
|
|
static
|
|
void
|
|
+enumhosts(int argc, char *argv[], int optind)
|
|
+{
|
|
+ if (sort_type != SORT_NONE) {
|
|
+ printf("collecting responses...");
|
|
+ fflush(stdout);
|
|
+ }
|
|
+
|
|
+ for (; optind < argc; optind++)
|
|
+ onehost(argv[optind]);
|
|
+
|
|
+ if (sort_type != SORT_NONE) {
|
|
+ int i;
|
|
+ putchar('\n');
|
|
+ qsort(rup_data, rup_data_idx, sizeof(struct rup_data), compare);
|
|
+
|
|
+ for (i = 0; i < rup_data_idx; i++) {
|
|
+ print_rup_data(rup_data[i].host, &rup_data[i].statstime);
|
|
+ }
|
|
+ }
|
|
+}
|
|
+
|
|
+static
|
|
+void
|
|
allhosts(void)
|
|
{
|
|
statstime host_stat;
|
|
@@ -337,10 +366,8 @@
|
|
|
|
if (argc == optind)
|
|
allhosts();
|
|
- else {
|
|
- for (; optind < argc; optind++)
|
|
- onehost(argv[optind]);
|
|
- }
|
|
+ else
|
|
+ enumhosts(argc, argv, optind);
|
|
|
|
exit(0);
|
|
}
|