1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
commit 2dbcf129cd830bc3b50a2e040f862026eb1d9ab7
Author: dgod <dgod.osa@gmail.com>
Date: Sun Feb 12 17:32:14 2012 +0800
fix integer overflow in memory show
Extended by Arch Linux to fix sort tasks by memory.
diff --git a/src/interface.c b/src/interface.c
index 52c6727..62e89ff 100644
--- a/src/interface.c
+++ b/src/interface.c
@@ -430,10 +430,10 @@ void fill_list_item(gint i, GtkTreeIter *iter)
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_STATE, task->state, -1);
/* size */
- gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_MEM, size_to_string(buf, task->size * 1024), -1);
+ gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_MEM, size_to_string(buf, ((guint64)task->size)*1024), -1);
/* rss */
- gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_RSS, size_to_string(buf, task->rss*1024), -1);
+ gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_RSS, size_to_string(buf, ((guint64)task->rss)*1024), -1);
gtk_tree_store_set(GTK_TREE_STORE(list_store), iter, COLUMN_UNAME, task->uname, -1);
sprintf(buf,"%0d%%", (guint)task->time_percentage);
@@ -545,10 +545,10 @@ gint compare_size_list_item(GtkTreeModel *model, GtkTreeIter *iter1, GtkTreeIter
gtk_tree_model_get(model, iter1, column, &s1, -1);
gtk_tree_model_get(model, iter2, column, &s2, -1);
- gint64 i1 = string_to_size(s1);
- gint64 i2 = string_to_size(s2);
+ guint64 i1 = string_to_size(s1);
+ guint64 i2 = string_to_size(s2);
- ret = i2 - i1;
+ ret = (i2 > i1) - (i2 < i1);
g_free(s1);
g_free(s2);
|