dcopidl/DCOPRef integer types mismatch

Lubos Lunak l.lunak at suse.cz
Thu Apr 8 09:49:37 BST 2004


On Thursday 08 of April 2004 10:26, Lubos Lunak wrote:
>  Hello,
>
>  create a dcop function with one of the multi-word integer types as
> argument (e.g. simply 'void foo(long)'), use dcopidl to generate the skel,
> use DCOPRef to call that function, and watch it not working at all.
> Interesting that nobody has yet noticed this.
>
>  The problem is that dcopidl and DCOPRef (dcopTypeName()) disagree on the
> string representation of those types. The types used are (dcopidl/dcopref):
>
>  int/int
>  unsigned int/uint    (ugh)
>  short int, unsigned short int/ <nothing, gets promoted>
>  char/char
>  unsigned char/uchar
>  signed char/ <nothing>
>  long int/long
>  unsigned long int/ulong
>
>  I already changed long to long int in dcopref, as I find that one obvious,
> but I'm not sure what to do with the rest, especially those ones like
> uchar. As I expect that changing those to match dcopidl would break all
> those lazy people's code, does somebody have any better idea that doing
> this matching in dcopserver (or should it be just ignored)?

 Actually I just realized that changing dcopref to use proper type names and 
extending dcopidl's parser to recognize ulong as unsigned long etc. would fix 
the problem, so I'll do that unless somebody sees a problem I fail to see.

 In case the dcopidlng thing is already being used as well, could please 
somebody fix it as well? It fails even to parse things like unsigned long, 
and I don't feel insane enough today to play with parsers written in perl.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/




More information about the kde-core-devel mailing list