Re: GCC4 and building gnome-vfs



On Tue, 2005-03-29 at 14:44 +0200, Kjartan Maraas wrote:
> Hi.
> 
> I'm running into problems building gnome-vfs with the new GCC in Fedora
> Core 4 test releases. I've cooked up a patch to "fix" some of them, but
> I need more help with the stuff in gnome-vfs-handle.c
> 
> Attaching a patch for the stuff I have now.
> 
> The error I'm seeing that I don't see how to fix immediately is this
> one:
> 
> gnome-vfs-handle.c: In function '_gnome_vfs_handle_do_tell':
> gnome-vfs-handle.c:174: warning: pointer targets in passing argument 3
> of 'handle->uri->method->tell' differ in signedness


typedef GnomeVFSResult (* GnomeVFSMethodTellFunc)
					(GnomeVFSMethod *method,
					 GnomeVFSMethodHandle *method_handle,
					 GnomeVFSFileOffset *offset_return);

vs:

GnomeVFSResult
_gnome_vfs_handle_do_tell (GnomeVFSHandle *handle,
			  GnomeVFSFileSize *offset_return)


offset_return have different types, that indeed differ by sign.

GnomeVFSFileSize is whats used in the public api which can't be changed.
It seems right to me to.

> I see from the fedora package that someone has added some cases of
> #undef error
> for some similar issues with other methods, but I'm not well enough
> versed in the preprocessing magic to know how this should be done in
> this case. Anyone?

The #undef calls are to handle the fact that some version of glibc had
macros named open etc. This is somewhat unfortunate, but ok with the
spec. There are nicer fixes availible though, like calling the function
with parenthesis around it in gnome-vfs.

> There are some sparse warning fixes and changes to make code static in
> the patch so please comment on those too if possible.


-                       split_service_instance (name, ptr_service, ptr_type, ptr_domain);
+                       split_service_instance ((unsigned char *)name, (unsigned char *)ptr_service, (unsigned char *)ptr_type, (unsigned char *)ptr_domain);

Sooooo ugly. Isn't there a nicer way?

diff -u -p -r1.2 xdgmimealias.c
--- libgnomevfs/xdgmimealias.c  9 Dec 2004 15:43:48 -0000       1.2
+++ libgnomevfs/xdgmimealias.c  29 Mar 2005 12:42:08 -0000

These need to go upstream too.

 {
-       FileHandle *handle = (FileHandle *)method_handle;
-       GnomeVFSResult res = GNOME_VFS_OK;;
        SmbAuthContext actx;
        ssize_t n = 0;
+       FileHandle *handle = (FileHandle *)method_handle;
+       GnomeVFSResult res = GNOME_VFS_OK;;

Does this do anything?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's a Nobel prize-winning pirate waffle chef with a winning smile and a way 
with the ladies. She's a radical tempestuous college professor living on 
borrowed time. They fight crime! 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]