poprawione 'w' z procps

Jarek Druzd raven w lo14.szczecin.pl
Pon, 8 Lut 1999, 12:06:18 CET


On Sat, 6 Feb 1999, Marcin 'Qrczak' Kowalczyk wrote:

> Powiedziałbym, że należałoby przypisać wynik time() na zmienną zamiast
> wywoływać dwa razy (abstrahując od sensu podawania przeciwnej różnicy
> jeśli time() jest mniejsze, którego nie rozumiem).

Roznica przeciwna jest dlatego aby nie bylo wyniku ujemnego, przez ktory
byly dzwiaczne wartosci idle'a pokazywane. Co do zmiennej to poprawilem
juz.

-- 
Jarek Druzd (raven w irc.pl)
-------------- następna część ---------
--- w.c.org	Mon Feb  8 11:51:53 1999
+++ w.c	Mon Feb  8 11:55:00 1999
@@ -78,9 +78,15 @@
 /**** stat the device file to get an idle time */
 static time_t idletime(utmp_t *u, char *tty) {
     struct stat terminfo;
+    time_t acc_time;
+
     if (stat(tty, &terminfo) != 0)
 	return 0;
-    return time(NULL) - terminfo.st_atime;
+    acc_time = time(NULL);
+    if (terminfo.st_atime>acc_time)
+        return terminfo.st_atime - acc_time;
+    else
+        return acc_time - terminfo.st_atime;
 }
 
 /***** 7 character formatted login time */
@@ -148,7 +154,7 @@
     proc_t *best;
 
     for (i=0; i < sizeof u->ut_line; i++)	/* clean up tty if garbled */
-	if (isalnum(u->ut_line[i]))
+	if ((isalnum(u->ut_line[i])) || (u->ut_line[i]=='/'))
 	    tty[i+5] = u->ut_line[i];
 	else
 	    tty[i+5] = '\0';


Więcej informacji o liście dyskusyjnej pld-devel-pl