Group :: Editors
RPM: joe
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
Patch: joe-3.5-time.patch
Download
Download
--- joe-3.5.orig/tty.c
+++ joe-3.5/tty.c
@@ -242,18 +242,19 @@ void ttclose(void)
}
static int winched = 0;
+int ticked = 0;
#ifdef SIGWINCH
/* Window size interrupt handler */
static RETSIGTYPE winchd(int unused)
{
++winched;
+ ticked = 1;
REINSTALL_SIGHANDLER(SIGWINCH, winchd);
}
#endif
/* Second ticker */
-int ticked = 0;
static RETSIGTYPE dotick(int unused)
{
ticked = 1;
@@ -277,6 +278,8 @@ void tickon(void)
{
#ifdef HAVE_SETITIMER
struct itimerval val;
+ struct timeval now;
+ gettimeofday(&now, NULL);
val.it_interval.tv_sec = 0;
val.it_interval.tv_usec = 0;
if (auto_scroll) {
@@ -287,8 +290,8 @@ void tickon(void)
val.it_value.tv_sec = 0;
val.it_value.tv_usec = tim;
} else {
- val.it_value.tv_sec = 1;
- val.it_value.tv_usec = 0;
+ val.it_value.tv_sec = 60 - (now.tv_sec % 60);
+ val.it_value.tv_usec = 1000000 - now.tv_usec;
}
ticked = 0;
joe_set_signal(SIGALRM, dotick);