Package: xsim
Severity: normal
Tags: patch

When building 'xsim' on amd64 with gcc-4.0,
I get the following error:

make[4]: Entering directory `/xsim-0.3.9.4/plugins/IMs/jianpin'
x86_64-linux-g++ -c simpleim.cpp -I/xsim-0.3.9.4/xsim/ 
-I/xsim-0.3.9.4/xsim//IMdkit -I/usr/include -Wall -O2 -I/usr/X11R6/include 
-DBDB_VERSION41 -DOS_LINUX -fPIC -DPIC
simpleimc.h: In member function 'size_t Word_Rec_tag::ac_size()':
simpleimc.h:48: error: cast from 'wchar_t*' to 'uint32_t' loses precision
simpleimc.h:48: error: cast from 'uint16_t*' to 'uint32_t' loses precision
make[4]: *** [simpleim.o] Error 1
make[4]: Leaving directory `/xsim-0.3.9.4/plugins/IMs/jianpin'

With the attached patch 'xsim' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/xsim-0.3.9.4/plugins/IMs/jianpin/simpleimc.h 
./plugins/IMs/jianpin/simpleimc.h
--- ../tmp-orig/xsim-0.3.9.4/plugins/IMs/jianpin/simpleimc.h    2002-10-22 
11:01:04.000000000 +0200
+++ ./plugins/IMs/jianpin/simpleimc.h   2005-02-28 15:26:20.676271711 +0100
@@ -45,7 +45,7 @@
        uint16_t access_count;
        wchar_t w[MAX_WORD_LEN + 1];
 
-       size_t ac_size() { return (uint32_t) w - (uint32_t)&access_count; }
+       size_t ac_size() { return (size_t) w - (size_t)&access_count; }
        size_t size(){ return ac_size() + wcslen(w) * sizeof(wchar_t); }
        void copy(struct Word_Rec_tag * val) { memcpy(this, val, 
sizeof(Word_Rec_tag));}
 }Word_Rec;
diff -urN ../tmp-orig/xsim-0.3.9.4/plugins/IMs/table/tableimc.h 
./plugins/IMs/table/tableimc.h
--- ../tmp-orig/xsim-0.3.9.4/plugins/IMs/table/tableimc.h       2002-09-13 
13:34:03.000000000 +0200
+++ ./plugins/IMs/table/tableimc.h      2005-02-28 15:27:17.689267151 +0100
@@ -23,7 +23,7 @@
        uint8_t sort_index;
        wchar_t w[MAX_WORD_LEN + 1];
 
-       size_t si_size() { return (uint32_t) w - (uint32_t)&sort_index; }
+       size_t si_size() { return (size_t) w - (size_t)&sort_index; }
        size_t size(){ return si_size() + (wcslen(w) + 1) * sizeof(wchar_t); }
        void copy(struct Word_Rec_tag * val) { memcpy(this, val, 
sizeof(Word_Rec_tag));}
 }Word_Rec;
diff -urN ../tmp-orig/xsim-0.3.9.4/xsim/ic.cpp ./xsim/ic.cpp
--- ../tmp-orig/xsim-0.3.9.4/xsim/ic.cpp        2002-10-01 07:41:23.000000000 
+0200
+++ ./xsim/ic.cpp       2005-02-28 15:28:12.430701044 +0100
@@ -101,7 +101,7 @@
        on_stat = 0;
 }
 
-int TIC::alive()
+long TIC::alive()
 {
-       return (int)im;
+       return (long)im;
 }
diff -urN ../tmp-orig/xsim-0.3.9.4/xsim/ic.h ./xsim/ic.h
--- ../tmp-orig/xsim-0.3.9.4/xsim/ic.h  2002-07-14 17:14:24.000000000 +0200
+++ ./xsim/ic.h 2005-02-28 15:28:18.882455737 +0100
@@ -76,14 +76,14 @@
        void set_im(TIM * val);
 
        TIMC * get_imc();
-       int has_imc() { return (int)imc; }
+       long has_imc() { return (long)imc; }
 
        void init(int init_mode, TIM * val);
 
        static TIC * get_focus_ic() { return focused_ic; }
        IC * get_IC() { return &ic_; };
        
-       int alive();
+       long alive();
        Window get_client_win() { return ic_.client_win; }
 
        int has_focus() { return (focused_ic == this); }
diff -urN ../tmp-orig/xsim-0.3.9.4/debian/control ./debian/control
--- ../tmp-orig/xsim-0.3.9.4/debian/control     2005-02-28 15:28:31.464027261 
+0100
+++ ./debian/control    2005-02-28 15:24:58.274176836 +0100
@@ -2,7 +2,7 @@
 Section: utils
 Priority: optional
 Maintainer: Yu Guanghui <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>> 3.0.0), libdb4.1++-dev, xlibs-dev, xutils, locales
+Build-Depends: debhelper (>> 3.0.0), libdb4.3++-dev, xlibs-dev, xutils, locales
 Standards-Version: 3.6.1
 
 Package: xsim



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to