Retrieving an Array of Strings, that is attached to a G_HASH_TABLE variant

"David Stockwell" <[email protected]>
Newsgroups gmane.linux.bluez.devel
Message-ID <037601c8c78f$c71a00c0$6701a8c0@freqonedev>
In Bluez, certain messages return a GHashTable of type (G_TYPE_STRING, G_TYPE_VALUE), so the key is a String, and the value is a Variant.  Many of the values returned are boolean, integer, and other simple types; others are a boxed Object Path.  These I can handle.

However, in a couple of cases, the value returned is an array of pointers to strings (G_TYPE_STRV).

To retrieve the strings, I am trying something like the following:

(GStrv) gPropValue = (GStrv) g_hash_table_lookup(propTable, "Strings"); // Assume that the "key" is "Strings"
if (gPropValue) {
  while (*gPropValue) {
    cout << *gPropValue << endl;
    ++gPropValue;
  }
}

I do get a properly terminated list of pointers, but each pointer points to a null string. ('\0')

I have not yet added debug statements to syslog (my next step) into the system level code, but why are the strings not filled in?  What else am I missing?  Any suggestions?

David Stockwell

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.