Previous: Null Pointers and Optional Arguments, Up: Argument Conversion [Contents][Index]
One special case is that of GLib’s GHashTable types. The
guile-gi library converts native Guile hash tables to GHashTable
types as necessary when calling introspected native functions. However,
marshalling Guile hash tables into GHashTable types and back
again has limitations.
First, the keys of instances of GHashTable have a native type,
and only a few common key types are handled by guile-gi: integers, real
numbers, and strings can be converted. All other types are treated as a
pointer, which may not be what is intended.
Second, some introspected native functions modify instances of
GHashTable that are passed in as input arguments. The
modifications to an instance of GHashTable input will not be
reflected in the Guile hash tables from which is was created.