aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--ChangeLog.ja10
-rw-r--r--src/inc.c22
-rw-r--r--src/inc.h6
-rw-r--r--src/mh.c24
-rw-r--r--src/recv.c9
-rw-r--r--src/session.c19
-rw-r--r--src/session.h3
-rw-r--r--src/socket.c6
9 files changed, 60 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog
index 5126e5cb..c6413d2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2005-08-04
+ * src/mh.c: use GTimer for measuring time.
+ * src/inc.[ch]
+ src/recv.c
+ src/session.[ch]: replaced gettimeofday() with portable
+ g_get_current_time().
+ * src/socket.c: corrected signedness. Replaced usleep() with
+ portable g_usleep().
+
+2005-08-04
+
* src/prefs_common.c: removed mgedit from exteditor's candidates.
2005-08-03
diff --git a/ChangeLog.ja b/ChangeLog.ja
index e17a1782..8a17186e 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,15 @@
2005-08-04
+ * src/mh.c: 時間測定に GTimer を使用。
+ * src/inc.[ch]
+ src/recv.c
+ src/session.[ch]: gettimeofday() を portable な g_get_current_time()
+ で置き換えた。
+ * src/socket.c: 符号の訂正。 usleep() を portable な g_usleep() で
+ 置き換えた。
+
+2005-08-04
+
* src/prefs_common.c: 外部エディタの候補から mgedit を外した。
2005-08-03
diff --git a/src/inc.c b/src/inc.c
index 2ad93c95..021d7d79 100644
--- a/src/inc.c
+++ b/src/inc.c
@@ -33,8 +33,6 @@
#include <stdio.h>
#include <unistd.h>
#include <string.h>
-#include <time.h>
-#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
@@ -374,8 +372,8 @@ static IncProgressDialog *inc_progress_dialog_create(gboolean autocheck)
}
dialog->dialog = progress;
- gettimeofday(&dialog->progress_tv, NULL);
- gettimeofday(&dialog->folder_tv, NULL);
+ g_get_current_time(&dialog->progress_tv);
+ g_get_current_time(&dialog->folder_tv);
dialog->queue_list = NULL;
dialog->cur_row = 0;
@@ -887,17 +885,17 @@ static void inc_update_folderview(IncProgressDialog *inc_dialog,
static void inc_progress_dialog_update_periodic(IncProgressDialog *inc_dialog,
IncSession *inc_session)
{
- struct timeval tv_cur;
- struct timeval tv_result;
+ GTimeVal tv_cur;
+ GTimeVal tv_result;
gint msec;
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
tv_result.tv_sec = tv_cur.tv_sec - inc_dialog->progress_tv.tv_sec;
tv_result.tv_usec = tv_cur.tv_usec - inc_dialog->progress_tv.tv_usec;
if (tv_result.tv_usec < 0) {
tv_result.tv_sec--;
- tv_result.tv_usec += 1000000;
+ tv_result.tv_usec += G_USEC_PER_SEC;
}
msec = tv_result.tv_sec * 1000 + tv_result.tv_usec / 1000;
@@ -911,17 +909,17 @@ static void inc_progress_dialog_update_periodic(IncProgressDialog *inc_dialog,
static void inc_update_folderview_periodic(IncProgressDialog *inc_dialog,
IncSession *inc_session)
{
- struct timeval tv_cur;
- struct timeval tv_result;
+ GTimeVal tv_cur;
+ GTimeVal tv_result;
gint msec;
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
tv_result.tv_sec = tv_cur.tv_sec - inc_dialog->folder_tv.tv_sec;
tv_result.tv_usec = tv_cur.tv_usec - inc_dialog->folder_tv.tv_usec;
if (tv_result.tv_usec < 0) {
tv_result.tv_sec--;
- tv_result.tv_usec += 1000000;
+ tv_result.tv_usec += G_USEC_PER_SEC;
}
msec = tv_result.tv_sec * 1000 + tv_result.tv_usec / 1000;
diff --git a/src/inc.h b/src/inc.h
index 8c2b406c..090dbcaf 100644
--- a/src/inc.h
+++ b/src/inc.h
@@ -25,8 +25,6 @@
#endif
#include <glib.h>
-#include <time.h>
-#include <sys/time.h>
#include "mainwindow.h"
#include "progressdialog.h"
@@ -60,8 +58,8 @@ struct _IncProgressDialog
gboolean show_dialog;
- struct timeval progress_tv;
- struct timeval folder_tv;
+ GTimeVal progress_tv;
+ GTimeVal folder_tv;
GList *queue_list; /* list of IncSession */
gint cur_row;
diff --git a/src/mh.c b/src/mh.c
index 5c2a1b41..d7ddc83f 100644
--- a/src/mh.c
+++ b/src/mh.c
@@ -27,15 +27,12 @@
#include <glib/gi18n.h>
#include <dirent.h>
#include <sys/stat.h>
+#include <time.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
-#undef MEASURE_TIME
-
-#ifdef MEASURE_TIME
-# include <sys/time.h>
-#endif
+#define MEASURE_TIME
#include "folder.h"
#include "mh.h"
@@ -197,13 +194,15 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item,
GHashTable *msg_table;
time_t cur_mtime;
#ifdef MEASURE_TIME
- struct timeval tv_before, tv_after, tv_result;
-
- gettimeofday(&tv_before, NULL);
+ GTimer *timer;
#endif
g_return_val_if_fail(item != NULL, NULL);
+#ifdef MEASURE_TIME
+ timer = g_timer_new();
+#endif
+
cur_mtime = mh_get_mtime(item);
if (use_cache && item->mtime == cur_mtime) {
@@ -257,11 +256,10 @@ static GSList *mh_get_msg_list(Folder *folder, FolderItem *item,
mlist = procmsg_sort_msg_list(mlist, item->sort_key, item->sort_type);
#ifdef MEASURE_TIME
- gettimeofday(&tv_after, NULL);
-
- timersub(&tv_after, &tv_before, &tv_result);
- g_print("mh_get_msg_list: %s: elapsed time: %ld.%06ld sec\n",
- item->path, tv_result.tv_sec, tv_result.tv_usec);
+ g_timer_stop(timer);
+ g_print("%s: %s: elapsed time: %f sec\n",
+ G_STRFUNC, item->path, g_timer_elapsed(timer, NULL));
+ g_timer_destroy(timer);
#endif
debug_print("cache_dirty: %d, mark_dirty: %d\n",
item->cache_dirty, item->mark_dirty);
diff --git a/src/recv.c b/src/recv.c
index 04959f8c..f5016c08 100644
--- a/src/recv.c
+++ b/src/recv.c
@@ -28,7 +28,6 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
-#include <sys/time.h>
#include "recv.h"
#include "socket.h"
@@ -105,9 +104,9 @@ gint recv_write(SockInfo *sock, FILE *fp)
gint len;
gint count = 0;
gint bytes = 0;
- struct timeval tv_prev, tv_cur;
+ GTimeVal tv_prev, tv_cur;
- gettimeofday(&tv_prev, NULL);
+ g_get_current_time(&tv_prev);
for (;;) {
if (sock_gets(sock, buf, sizeof(buf)) < 0) {
@@ -126,7 +125,7 @@ gint recv_write(SockInfo *sock, FILE *fp)
bytes += len;
if (recv_ui_func) {
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
/* if elapsed time from previous update is greater
than 50msec, update UI */
if (tv_cur.tv_sec - tv_prev.tv_sec > 0 ||
@@ -135,7 +134,7 @@ gint recv_write(SockInfo *sock, FILE *fp)
ret = recv_ui_func(sock, count, bytes,
recv_ui_func_data);
if (ret == FALSE) return -1;
- gettimeofday(&tv_prev, NULL);
+ g_get_current_time(&tv_prev);
}
}
diff --git a/src/session.c b/src/session.c
index fe9db74b..237198d2 100644
--- a/src/session.c
+++ b/src/session.c
@@ -32,7 +32,6 @@
#include <unistd.h>
#include <sys/signal.h>
#include <sys/wait.h>
-#include <sys/time.h>
#include <time.h>
#include <errno.h>
@@ -75,7 +74,7 @@ void session_init(Session *session)
session->state = SESSION_READY;
session->last_access_time = time(NULL);
- gettimeofday(&session->tv_prev, NULL);
+ g_get_current_time(&session->tv_prev);
session->conn_id = 0;
@@ -376,7 +375,7 @@ gint session_send_data(Session *session, const guchar *data, guint size)
session->write_data = data;
session->write_data_p = session->write_data;
session->write_data_len = size;
- gettimeofday(&session->tv_prev, NULL);
+ g_get_current_time(&session->tv_prev);
ret = session_write_data_cb(session->sock, G_IO_OUT, session);
@@ -398,7 +397,7 @@ gint session_recv_data(Session *session, guint size, const gchar *terminator)
g_free(session->read_data_terminator);
session->read_data_terminator = g_strdup(terminator);
- gettimeofday(&session->tv_prev, NULL);
+ g_get_current_time(&session->tv_prev);
if (session->read_buf_len > 0)
g_idle_add(session_recv_data_idle_cb, session);
@@ -577,16 +576,16 @@ static gboolean session_read_data_cb(SockInfo *source, GIOCondition condition,
/* incomplete read */
if (!complete) {
- struct timeval tv_cur;
+ GTimeVal tv_cur;
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
if (tv_cur.tv_sec - session->tv_prev.tv_sec > 0 ||
tv_cur.tv_usec - session->tv_prev.tv_usec >
UI_REFRESH_INTERVAL) {
session->recv_data_progressive_notify
(session, data_buf->len, 0,
session->recv_data_progressive_notify_data);
- gettimeofday(&session->tv_prev, NULL);
+ g_get_current_time(&session->tv_prev);
}
return TRUE;
}
@@ -748,9 +747,9 @@ static gboolean session_write_data_cb(SockInfo *source,
session->state = SESSION_ERROR;
return FALSE;
} else if (ret > 0) {
- struct timeval tv_cur;
+ GTimeVal tv_cur;
- gettimeofday(&tv_cur, NULL);
+ g_get_current_time(&tv_cur);
if (tv_cur.tv_sec - session->tv_prev.tv_sec > 0 ||
tv_cur.tv_usec - session->tv_prev.tv_usec >
UI_REFRESH_INTERVAL) {
@@ -760,7 +759,7 @@ static gboolean session_write_data_cb(SockInfo *source,
session->write_data_p - session->write_data,
write_data_len,
session->send_data_progressive_notify_data);
- gettimeofday(&session->tv_prev, NULL);
+ g_get_current_time(&session->tv_prev);
}
return TRUE;
}
diff --git a/src/session.h b/src/session.h
index a0aa680a..9ed0eaf4 100644
--- a/src/session.h
+++ b/src/session.h
@@ -27,7 +27,6 @@
#include <glib.h>
#include <time.h>
-#include <sys/time.h>
#include <unistd.h>
#include "socket.h"
@@ -102,7 +101,7 @@ struct _Session
SessionState state;
time_t last_access_time;
- struct timeval tv_prev;
+ GTimeVal tv_prev;
gint conn_id;
diff --git a/src/socket.c b/src/socket.c
index c9ff5605..8ac43493 100644
--- a/src/socket.c
+++ b/src/socket.c
@@ -209,7 +209,7 @@ gint fd_open_unix(const gchar *path)
gint fd_accept(gint sock)
{
struct sockaddr_in caddr;
- gint caddr_len;
+ guint caddr_len;
caddr_len = sizeof(caddr);
return accept(sock, (struct sockaddr *)&caddr, &caddr_len);
@@ -556,7 +556,7 @@ SockInfo *sock_connect(const gchar *hostname, gushort port)
sockinfo->port = port;
sockinfo->state = CONN_ESTABLISHED;
- usleep(100000);
+ g_usleep(100000);
return sockinfo;
}
@@ -582,7 +582,7 @@ static gboolean sock_connect_async_cb(GIOChannel *source,
SockConnectData *conn_data = (SockConnectData *)data;
gint fd;
gint val;
- gint len;
+ guint len;
SockInfo *sockinfo;
fd = g_io_channel_unix_get_fd(source);