[Vala] Strange Map behaviour in Gee



Any pointers on what's going on here?

% cat Map.vala
using Gee;

static int main( string[] args )
{
    var map = new HashMap<string, string>();

    map.set( "hello", "hej" );
    map.set( "good bye", "hej då" );

    foreach( string key in map.get_keys() ) stdout.printf( "Key: %s\n", key );
foreach( string val in map.get_values() ) stdout.printf( "Value: %s\n", val ); foreach( string key in map.get_keys() ) stdout.printf( "Key: %s - Val: %s\n", key, map.get( key ));

    return( 0 );
}
% valac --pkg gee-1.0 Map.vala
% ./Map
Key: hello
Key: good bye
Value: hej
Value: hej då
Key: hello - Val: (null)
Key: good bye - Val: (null)

Switching to using TreeMap instead results in the following:

% valac --pkg gee-1.0 Map.vala
/home/magnus/devo/test/vala/TestGee/Map.vala.c: In function ‘_main’:
/home/magnus/devo/test/vala/TestGee/Map.vala.c:21: warning: passing argument 7 of ‘gee_tree_map_new’ from incompatible pointer type /usr/include/gee-1.0/gee.h:584: note: expected ‘GCompareFunc’ but argument is of type ‘gint (*)(void *, void *)’

And a segmentation fault at runtime.

Not quite what I had expected...

% valac --version
Vala 0.7.6
% pacman -Q libgee
libgee 0.3.0-1

/M

--
Magnus Therning                        (OpenPGP: 0xAB4DFBA4)
magnus@therning.org          Jabber: magnus@therning.org
http://therning.org/magnus         identi.ca|twitter: magthe

Attachment: signature.asc
Description: OpenPGP digital signature



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