cwObject.cpp,cwObjectTemplate.h,main.cpp : Fixed cwObject bool parsing.

This commit is contained in:
kpl 2020-02-29 00:12:15 -05:00
parent d065dcf344
commit 77c5026f14
3 changed files with 15 additions and 2 deletions

View File

@ -240,6 +240,7 @@ namespace cw
object_t* o = mem::allocZ<object_t>();
o->type = type;
o->parent = parent;
return o;
}

View File

@ -45,6 +45,16 @@ namespace cw
return obj;
}
template<> object_t* _objSetLeafValue<bool>( object_t* obj, bool value )
{
if( obj != NULL )
{
obj->u.b = value;
obj->type = _objIdToType(kBoolTId);
}
return obj;
}
template<> object_t* _objSetLeafValue< char*>( object_t* obj, char* value )
{
if( obj != NULL )
@ -73,6 +83,8 @@ namespace cw
template<> object_t* _objCreateValueNode< char*>( object_t* parent, char* value, const char* msg, unsigned flags )
{ return _objAppendLeftMostNode( parent, _objSetLeafValue( _objAllocate(), value ) ); }
template<> object_t* _objCreateValueNode<bool>( object_t* parent, bool value, const char* msg, unsigned flags )
{ return _objAppendLeftMostNode( parent, _objSetLeafValue( _objAllocate(), value ) ); }
template< typename T >
rc_t getObjectValue( const T& src, unsigned tid, void* dst, const char* typeLabel )

View File

@ -113,7 +113,7 @@ void numbCvtTest( cw::object_t* cfg, int argc, const char* argv[] )
void objectTest( cw::object_t* cfg, int argc, const char* argv[] )
{
cw::object_t* o;
const char s [] = "{ a:1, b:2, c:[ 1.23, 4.56 ] }";
const char s [] = "{ a:1, b:2, c:[ 1.23, 4.56 ], d:true, e:false, f:true }";
cw::objectFromString(s,o);
int v;