I have found an inconsistancy with the putToString and getFromCString for
TypeTraits<bool> (OSGBaseTypeTraits.h). Here's an example.


//Push a bool to a string
bool TestValue(true);

std::string StrValue;

TypeTraits<bool>::putToString(TestValue, StrValue);

//At this point StrValue is "1"

//Now get the value back out of the string

TestValue = TypeTraits<bool>::getFromCString(StrValue.c_str());

//TestValue is now false

This is because putToString, and getFromCString are inconsistent.
getFromCString
is expecting the string to be "TRUE" or "FALSE", case-insensitive, but
putToString
is pushing the value of the bool as either "0" or "1".  Since 1.8 uses the
format of "TRUE" and "FALSE" I have included a patch that fixes the putToString
and putToStream functions for TypeTraits<bool> to push either "TRUE" or
"FALSE"

Thanks,
David Kabala

Attachment: 0001-Fixed-The-TypeTraits-definition-for-a-bool-was-incon.patch
Description: Binary data

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to