Hello,
I can't reproduce this problem on my i386 box. But according to the
report, the bug can only be seen on an amd64. Having a look at the
buildd log[1] reveals that gcc complains a log about "cast to pointer
from integer of different size".
Having a look at the source code shows that it indeed relies on pointers
being 32 bits, e.g. manedit/editordnd.c EditorDNDParseCmd function reads
pointers assuming they are guint32.
The attached patch tries to correct those warnings. I have asked
someone with an AMD64 box to try to reproduce the bug with and whithout
this patch, but he was not able to reproduce it in *both* cases.
Can you please try it?
Thanks,
Thomas
[1]
http://buildd.debian.org/fetch.php?&pkg=manedit&ver=0.6.1-2&arch=amd64&stamp=1148185328&file=log&as=raw
diff -rN -u old-manedit-0.6.1/manedit/editordnd.c
new-manedit-0.6.1/manedit/editordnd.c
--- old-manedit-0.6.1/manedit/editordnd.c 2006-09-02 18:43:13.000000000
+0200
+++ new-manedit-0.6.1/manedit/editordnd.c 2006-09-02 18:43:13.000000000
+0200
@@ -104,7 +104,7 @@
GtkCTreeNode ***branch, gint *total_branches
)
{
- guint32 addr_val;
+ gpointer addr_val;
gint i, n, strc;
gchar **strv;
@@ -131,7 +131,7 @@
/* Get editor_ptr (format in hex with no "0x" prefix) */
if(strc > 0)
- i = sscanf(strv[0], "%x", (guint32 *)&addr_val);
+ i = sscanf(strv[0], "%p", &addr_val);
else
i = 0;
if((i > 0) && (editor_ptr != NULL))
@@ -164,7 +164,7 @@
}
else
{
- i = sscanf(cs, "%x", (guint32 *)&addr_val);
+ i = sscanf(cs, "%p", &addr_val);
if(i > 0)
(*branch)[n] = (GtkCTreeNode *)addr_val;
else
@@ -950,14 +950,14 @@
*/
if(branch_ptr != NULL)
buf = g_strdup_printf(
- "%.8x %.8x",
- (guint32)editor,
- (guint32)branch_ptr
+ "%p %p",
+ (gpointer)editor,
+ (gpointer)branch_ptr
);
else
buf = g_strdup_printf(
- "%.8x",
- (guint32)editor
+ "%p",
+ (gpointer)editor
);
/* Send out data */
diff -rN -u old-manedit-0.6.1/manedit/editorfio.c
new-manedit-0.6.1/manedit/editorfio.c
--- old-manedit-0.6.1/manedit/editorfio.c 2006-09-02 18:43:13.000000000
+0200
+++ new-manedit-0.6.1/manedit/editorfio.c 2006-09-02 18:43:13.000000000
+0200
@@ -470,7 +470,7 @@
mp_header_struct *mp_header
)
{
- gint i;
+ size_t i;
const gchar *line;
gchar *new_line;
diff -rN -u old-manedit-0.6.1/manedit/fb.c new-manedit-0.6.1/manedit/fb.c
--- old-manedit-0.6.1/manedit/fb.c 2006-09-02 18:43:13.000000000 +0200
+++ new-manedit-0.6.1/manedit/fb.c 2006-09-02 18:43:13.000000000 +0200
@@ -527,7 +527,7 @@
#endif
#define OBJISSEL(fb,n) ((((fb) != NULL) && ((n) >= 0)) ? \
- ((g_list_find(fb->selection, (gpointer)(n)) != NULL) ? TRUE : FALSE) : FALSE)
+ ((g_list_find(fb->selection, GINT_TO_POINTER((n))) != NULL) ? TRUE : FALSE) :
FALSE)
#define FB_WIDTH 480
@@ -665,7 +665,7 @@
/* Iterate through selection */
for(glist = selection; glist != NULL; glist = g_list_next(glist))
{
- i = (gint)glist->data;
+ i = GPOINTER_TO_INT(glist->data);
if((i >= 0) && (i < total))
o = object[i];
else
@@ -1776,7 +1776,7 @@
/* Select this object */
fb->focus_object = i;
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
@@ -4081,7 +4081,7 @@
glist = g_list_next(glist)
)
{
- o = FileBrowserGetObject(fb, (gint)glist->data);
+ o = FileBrowserGetObject(fb, GPOINTER_TO_INT(glist->data));
if((o != NULL) ? (o->name != NULL) : FALSE)
{
s = strinsstr(s, -1, o->name);
@@ -4860,11 +4860,11 @@
{
if(!OBJISSEL(fb, n))
fb->selection = g_list_append(
- fb->selection, (gpointer)n
+ fb->selection, GINT_TO_POINTER(n)
);
if(!OBJISSEL(fb, i))
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserEntrySetSelectedObjects(fb);
@@ -4918,11 +4918,11 @@
{
if(!OBJISSEL(fb, n))
fb->selection = g_list_append(
- fb->selection, (gpointer)n
+ fb->selection, GINT_TO_POINTER(n)
);
if(!OBJISSEL(fb, i))
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserEntrySetSelectedObjects(fb);
@@ -4989,7 +4989,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection,
GINT_TO_POINTER(j)
);
}
fb->selection_end =
g_list_last(fb->selection);
@@ -5057,7 +5057,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection,
GINT_TO_POINTER(j)
);
}
fb->selection_end =
g_list_last(fb->selection);
@@ -5110,7 +5110,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5165,7 +5165,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5213,11 +5213,11 @@
{
if(!OBJISSEL(fb, n))
fb->selection = g_list_append(
- fb->selection, (gpointer)n
+ fb->selection, GINT_TO_POINTER(n)
);
if(!OBJISSEL(fb, i))
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserEntrySetSelectedObjects(fb);
@@ -5259,11 +5259,11 @@
{
if(!OBJISSEL(fb, n))
fb->selection = g_list_append(
- fb->selection, (gpointer)n
+ fb->selection, GINT_TO_POINTER(n)
);
if(!OBJISSEL(fb, i))
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserEntrySetSelectedObjects(fb);
@@ -5320,7 +5320,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5379,7 +5379,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5437,7 +5437,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5495,7 +5495,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5547,7 +5547,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5602,7 +5602,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
}
fb->selection_end = g_list_last(fb->selection);
@@ -5646,11 +5646,11 @@
gint i = fb->focus_object;
if(OBJISSEL(fb, i))
fb->selection = g_list_remove(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
else
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserListQueueDraw(fb);
@@ -5748,14 +5748,14 @@
if(OBJISSEL(fb, i))
{
fb->selection = g_list_remove(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
}
else
{
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
@@ -5790,14 +5790,14 @@
fb->focus_object = i;
if(fb->selection_end != NULL)
{
- gint j = i, n = (gint)fb->selection_end->data;
+ gint j = i, n =
GPOINTER_TO_INT(fb->selection_end->data);
if(j > n)
{
while(j > n)
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
j--;
}
@@ -5809,7 +5809,7 @@
{
if(!OBJISSEL(fb, j))
fb->selection = g_list_append(
- fb->selection, (gpointer)j
+ fb->selection, GINT_TO_POINTER(j)
);
j++;
}
@@ -5822,7 +5822,7 @@
* this one.
*/
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
}
@@ -5855,7 +5855,7 @@
* then update last_single_select_object
*/
if((g_list_length(fb->selection) == 1) ?
- ((gint)fb->selection->data == i) : FALSE
+ (GPOINTER_TO_INT(fb->selection->data) == i) : FALSE
)
fb->last_single_select_object = i;
else
@@ -5870,7 +5870,7 @@
/* Select this object */
fb->focus_object = i;
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
@@ -5949,7 +5949,7 @@
/* Select this object */
fb->focus_object = i;
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
@@ -6148,7 +6148,7 @@
fb->selection = NULL;
for(i = 0; i < fb->total_objects; i++)
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
FileBrowserListQueueDraw(fb);
@@ -6185,7 +6185,7 @@
for(i = 0; i < fb->total_objects; i++)
{
if(!OBJISSEL(fb, i))
- glist = g_list_append(glist, (gpointer)i);
+ glist = g_list_append(glist, GINT_TO_POINTER(i));
}
if(fb->selection != NULL)
g_list_free(fb->selection);
@@ -6279,7 +6279,7 @@
/* Get last selected object */
glist = fb->selection_end;
- i = (glist != NULL) ? (gint)glist->data : -1;
+ i = (glist != NULL) ? GPOINTER_TO_INT(glist->data) : -1;
o = FileBrowserGetObject(fb, i);
if((o != NULL) ? (o->full_path != NULL) : FALSE)
{
@@ -6483,7 +6483,7 @@
/* Select this object */
fb->focus_object = i;
fb->selection = g_list_append(
- fb->selection, (gpointer)i
+ fb->selection, GINT_TO_POINTER(i)
);
fb->selection_end = g_list_last(fb->selection);
@@ -6521,7 +6521,7 @@
/* Get last selected object */
glist = fb->selection_end;
- i = (glist != NULL) ? (gint)glist->data : -1;
+ i = (glist != NULL) ? GPOINTER_TO_INT(glist->data) : -1;
o = FileBrowserGetObject(fb, i);
if(o == NULL)
return;
@@ -6633,7 +6633,7 @@
/* Get last selected object */
glist = fb->selection_end;
- i = (glist != NULL) ? (gint)glist->data : -1;
+ i = (glist != NULL) ? GPOINTER_TO_INT(glist->data) : -1;
o = FileBrowserGetObject(fb, i);
if((o != NULL) ? (o->full_path != NULL) : FALSE)
{
@@ -6867,7 +6867,7 @@
/* Get last selected object */
glist = fb->selection_end;
- i = (glist != NULL) ? (gint)glist->data : -1;
+ i = (glist != NULL) ? GPOINTER_TO_INT(glist->data) : -1;
o = FileBrowserGetObject(fb, i);
if(o == NULL)
return;
@@ -7057,7 +7057,7 @@
i = g_list_length(glist);
if(i == 1)
{
- i = (gint)glist->data;
+ i = GPOINTER_TO_INT(glist->data);
o = FileBrowserGetObject(fb, i);
if((o != NULL) ? (o->name != NULL) : FALSE)
buf = g_strdup_printf(
@@ -7145,7 +7145,7 @@
/* Iterate through selected objects */
while(glist != NULL)
{
- i = (gint)glist->data;
+ i = GPOINTER_TO_INT(glist->data);
o = FileBrowserGetObject(fb, i);
if((o != NULL) ? (o->full_path != NULL) : FALSE)
{
diff -rN -u old-manedit-0.6.1/manedit/guiutils.c
new-manedit-0.6.1/manedit/guiutils.c
--- old-manedit-0.6.1/manedit/guiutils.c 2006-09-02 18:43:13.000000000
+0200
+++ new-manedit-0.6.1/manedit/guiutils.c 2006-09-02 18:43:13.000000000
+0200
@@ -1477,7 +1477,7 @@
wlabel = (GtkWidget *)(cb_data[1]);
combo = (GtkCombo *)(cb_data[2]);
glist_in = (GList *)(cb_data[3]);
- max_items = (gint)(cb_data[4]);
+ max_items = GPOINTER_TO_INT(cb_data[4]);
client_data = (gpointer)(cb_data[5]);
func_cb = cb_data[6];
list_change_cb = cb_data[7];
@@ -1589,7 +1589,7 @@
wlabel = (GtkWidget *)(cb_data[1]);
combo = (GtkCombo *)(cb_data[2]);
glist = (GList *)(cb_data[3]);
- max_items = (gint)(cb_data[4]);
+ max_items = GPOINTER_TO_INT(cb_data[4]);
client_data = (gpointer)(cb_data[5]);
func_cb = cb_data[6];
list_change_cb = cb_data[7];
@@ -1797,8 +1797,8 @@
holder_hbox = (GtkWidget *)cb_data[1];
toplevel = (GtkWidget *)cb_data[2];
- holder_window_width = (gint)cb_data[5];
- holder_window_height = (gint)cb_data[6];
+ holder_window_width = GPOINTER_TO_INT(cb_data[5]);
+ holder_window_height = GPOINTER_TO_INT(cb_data[6]);
pull_out_client_data = cb_data[8];
pull_out_cb = cb_data[9];
@@ -4423,8 +4423,8 @@
{
g_printerr(
"GUIDDESetBinary(): Failed:\
- GtkWidget 0x%.8x does not have a GdkWindow.\n",
- (guint32)w
+ GtkWidget 0x%p does not have a GdkWindow.\n",
+ (gpointer)w
);
return;
}
@@ -4516,8 +4516,8 @@
{
g_printerr(
"GUIDDEGetBinary(): Failed:\
- GtkWidget 0x%.8x does not have a GdkWindow.\n",
- (guint32)w
+ GtkWidget 0x%p does not have a GdkWindow.\n",
+ (gpointer)w
);
return(NULL);
}
@@ -4626,8 +4626,8 @@
{
g_printerr(
"GUIDDESetString(): Failed:\
- GtkWidget 0x%.8x does not have a GdkWindow.\n",
- (guint32)w
+ GtkWidget 0x%p does not have a GdkWindow.\n",
+ (gpointer)w
);
return;
}
@@ -4713,8 +4713,8 @@
{
g_printerr(
"GUIDDEGetString(): Failed:\
- GtkWidget 0x%.8x does not have a GdkWindow.\n",
- (guint32)w
+ GtkWidget 0x%p does not have a GdkWindow.\n",
+ (gpointer)w
);
return(NULL);
}
@@ -5409,7 +5409,7 @@
cb_data[1] = wlabel;
cb_data[2] = combo;
cb_data[3] = glist_out;
- cb_data[4] = (gpointer)MAX(max_items, 0);
+ cb_data[4] = GINT_TO_POINTER(MAX(max_items, 0));
cb_data[5] = data;
cb_data[6] = (gpointer)func_cb;
cb_data[7] = (gpointer)list_change_cb;
@@ -5516,7 +5516,7 @@
wlabel = (GtkWidget *)(cb_data[1]);
combo = (GtkCombo *)(cb_data[2]);
glist_in = (GList *)(cb_data[3]);
- max_items = (gint)(cb_data[4]);
+ max_items = GPOINTER_TO_INT(cb_data[4]);
client_data = (gpointer)(cb_data[5]);
func_cb = cb_data[6];
list_change_cb = cb_data[7];
@@ -5677,7 +5677,7 @@
/* Is given list NULL? */
if(list == NULL)
{
- gint i, max_items = (gint)cb_data[4];
+ gint i, max_items = GPOINTER_TO_INT(cb_data[4]);
GList *glist_new,
*glist_old = glist;
@@ -5729,7 +5729,7 @@
* number of items to max_items
*/
i = 0;
- max_items = (gint)cb_data[4];
+ max_items = GPOINTER_TO_INT(cb_data[4]);
glist_new = NULL; /* New glist */
glist_in = (GList *)list; /* Input glist */
while((i < max_items) && (glist_in != NULL))
@@ -6580,8 +6580,8 @@
cb_data[2] = NULL;
cb_data[3] = 0;
cb_data[4] = 0;
- cb_data[5] = (gpointer)MAX(toplevel_width, 0);
- cb_data[6] = (gpointer)MAX(toplevel_height, 0);
+ cb_data[5] = GINT_TO_POINTER(MAX(toplevel_width, 0));
+ cb_data[6] = GINT_TO_POINTER(MAX(toplevel_height, 0));
cb_data[7] = (gpointer)1; /* Initially `pushed in' */
cb_data[8] = (gpointer)pull_out_client_data;
cb_data[9] = (gpointer)pull_out_cb;
@@ -6715,7 +6715,7 @@
*/
/* In place (pushed in)? */
- if((gint)cb_data[7])
+ if(cb_data[7])
{
GUIPullOutPullOutBtnCB(
NULL,
@@ -6761,7 +6761,7 @@
w = (GtkWidget *)cb_data[2];
/* Not in place (pulled out)? */
- if(!((gint)cb_data[7]))
+ if(!cb_data[7])
{
GUIPullOutCloseCB(
(GtkWidget *)cb_data[2],
diff -rN -u old-manedit-0.6.1/manedit/mpfio.c new-manedit-0.6.1/manedit/mpfio.c
--- old-manedit-0.6.1/manedit/mpfio.c 2006-09-02 18:43:13.000000000 +0200
+++ new-manedit-0.6.1/manedit/mpfio.c 2006-09-02 18:43:13.000000000 +0200
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
@@ -543,7 +544,7 @@
{
const char *buf_limit_ptr;
const char *buf_cur_ptr;
- int n, cur_seg_len;
+ size_t n, cur_seg_len;
char *line_ptr;
@@ -558,14 +559,14 @@
if((buf_limit_ptr == NULL) || (buf_limit_ptr > buf_end))
buf_limit_ptr = buf_end;
- cur_seg_len = MAX(
- (int)buf_limit_ptr - (int)buf_cur_ptr, 0
+ cur_seg_len = (size_t)MAX(
+ buf_limit_ptr - buf_cur_ptr, 0
);
/* Allocate a new line. */
- n = (*total_lines);
- (*total_lines) = n + 1;
- (*line) = (char **)realloc(*line, (*total_lines) * sizeof(char *));
+ n = (size_t)(*total_lines);
+ (*total_lines) = (int)(n + 1);
+ (*line) = (char **)realloc(*line, (n + 1) * sizeof(char *));
if((*line) == NULL)
{
(*total_lines) = 0;
@@ -607,11 +608,11 @@
)
{
char *tmp_buf;
- int cur_seg_len;
+ size_t cur_seg_len;
/* Copy given buffer to a tempory buffer. */
- cur_seg_len = MAX((int)buf_end - (int)buf, 0);
+ cur_seg_len = (size_t)MAX(buf_end - buf, 0);
tmp_buf = (char *)malloc((cur_seg_len + 1) * sizeof(char));
if(tmp_buf == NULL)
return;
@@ -761,8 +762,8 @@
)
{
char *bp;
- int i, start_offset;
- int buf_len, token_len, replace_len;
+ int i; ptrdiff_t start_offset;
+ size_t buf_len, token_len, replace_len;
token_len = strlen(token);
@@ -776,7 +777,7 @@
return(buf);
/* Number of bytes into buf that matched the token. */
- start_offset = (int)(*sub_start) - (int)buf;
+ start_offset = (*sub_start) - buf;
/* Now (*sub_start) is positioned at the start of the
* substitution. Begin removing token string from buf.
@@ -921,7 +922,7 @@
char *buf, *buf_end; /* Entire loaded buffer and length. */
char *cur_buf_ptr, *limit_buf_ptr;
char *cur_section_name;
- int buf_len, cur_seg_len;
+ int buf_len; size_t cur_seg_len;
/* Reset returns. */
@@ -1018,7 +1019,7 @@
if(limit_buf_ptr == NULL)
limit_buf_ptr = buf_end;
- cur_seg_len = MAX((int)limit_buf_ptr - (int)cur_buf_ptr, 0);
+ cur_seg_len = (size_t)MAX(limit_buf_ptr - cur_buf_ptr, 0);
/* Simply load header as exploded newlines for now. */
MPLoadExplodeNewLines(
@@ -1101,7 +1102,7 @@
if(limit_buf_ptr == NULL)
limit_buf_ptr = buf_end;
- cur_seg_len = MAX((int)limit_buf_ptr - (int)cur_buf_ptr, 0);
+ cur_seg_len = (size_t)MAX(limit_buf_ptr - cur_buf_ptr, 0);
cur_section_name = (char *)malloc((cur_seg_len + 1) *
sizeof(char));
if(cur_section_name != NULL)
{
@@ -1130,7 +1131,7 @@
)
limit_buf_ptr++;
- cur_seg_len = MAX((int)limit_buf_ptr - (int)cur_buf_ptr, 0);
+ cur_seg_len = (size_t)MAX(limit_buf_ptr - cur_buf_ptr, 0);
cur_section_name = (char *)malloc((cur_seg_len + 1) *
sizeof(char));
if(cur_section_name != NULL)
{
diff -rN -u old-manedit-0.6.1/manedit/pulist.c
new-manedit-0.6.1/manedit/pulist.c
--- old-manedit-0.6.1/manedit/pulist.c 2006-09-02 18:43:13.000000000 +0200
+++ new-manedit-0.6.1/manedit/pulist.c 2006-09-02 18:43:13.000000000 +0200
@@ -285,7 +285,7 @@
{
/* Activate selected item */
GList *glist = clist->selection_end;
- gint row = (glist != NULL) ? (gint)glist->data : -1;
+ gint row = (glist != NULL) ? GPOINTER_TO_INT(glist->data) :
-1;
if((row >= 0) && (row < clist->rows))
{
gchar *text = NULL;
@@ -510,7 +510,7 @@
* meaning we now have a matched item
*/
GList *glist = clist->selection_end;
- gint row = (glist != NULL) ? (gint)glist->data : -1;
+ gint row = (glist != NULL) ?
GPOINTER_TO_INT(glist->data) : -1;
if((row >= 0) && (row < clist->rows))
{
gchar *text = NULL;
@@ -942,7 +942,7 @@
if(clist != NULL)
{
GList *glist = clist->selection_end;
- gint row = (glist != NULL) ? (gint)glist->data : -1;
+ gint row = (glist != NULL) ?
GPOINTER_TO_INT(glist->data) : -1;
if(row < 0)
row = 0;
else
@@ -977,7 +977,7 @@
if(clist != NULL)
{
GList *glist = clist->selection_end;
- gint row = (glist != NULL) ? (gint)glist->data : -1;
+ gint row = (glist != NULL) ?
GPOINTER_TO_INT(glist->data) : -1;
if(row < 0)
row = 0;
else
@@ -1106,7 +1106,7 @@
GdkGC *gc = style->text_gc[state];
GtkCList *clist = GTK_CLIST(list->clist);
GList *glist = clist->selection_end;
- gint row = (glist != NULL) ? (gint)glist->data : 0;
+ gint row = (glist != NULL) ? GPOINTER_TO_INT(glist->data) : 0;
if((row >= 0) && (row < clist->rows))
{
@@ -1517,7 +1517,7 @@
{
GtkCList *clist = (GtkCList *)PUListGetCList(list);
GList *glist = (clist != NULL) ? clist->selection_end : NULL;
- return((glist != NULL) ? (gint)glist->data : -1);
+ return((glist != NULL) ? GPOINTER_TO_INT(glist->data) : -1);
}
/*
diff -rN -u old-manedit-0.6.1/manedit/viewerdnd.c
new-manedit-0.6.1/manedit/viewerdnd.c
--- old-manedit-0.6.1/manedit/viewerdnd.c 2006-09-02 18:43:13.000000000
+0200
+++ new-manedit-0.6.1/manedit/viewerdnd.c 2006-09-02 18:43:13.000000000
+0200
@@ -69,7 +69,7 @@
GtkCTreeNode ***branch, gint *total_branches
)
{
- guint32 addr_val;
+ gpointer addr_val;
gint i, n, strc;
gchar **strv;
@@ -97,7 +97,7 @@
/* Get viewer_ptr (format in hex with no "0x" prefix) */
if(strc > 0)
- i = sscanf(strv[0], "%x", (guint32 *)&addr_val);
+ i = sscanf(strv[0], "%p", &addr_val);
else
i = 0;
if((i > 0) && (viewer_ptr != NULL))
@@ -130,7 +130,7 @@
}
else
{
- i = sscanf(s, "%x", (guint32 *)&addr_val);
+ i = sscanf(s, "%p", &addr_val);
if(i > 0)
(*branch)[n] = (GtkCTreeNode *)addr_val;
else
@@ -184,14 +184,14 @@
*/
if(branch_ptr != NULL)
buf = g_strdup_printf(
- "%.8x %.8x",
- (guint32)v,
- (guint32)branch_ptr
+ "%p %p",
+ (gpointer)v,
+ (gpointer)branch_ptr
);
else
buf = g_strdup_printf(
- "%.8x",
- (guint32)v
+ "%p",
+ (gpointer)v
);
/* Send out data */