#include "vg_msg.h"
#include "vg_platform.h"
+#include "vg_string.h"
+#include <string.h>
+#include <stdio.h>
/* write a buffer from msg, rang checked. */
void vg_msg_wbuf( vg_msg *msg, u8 *buf, u32 len )
* Read a integral KV out to dst, and perform conversion if needed
* dst is always defined, if its not found its set to 0
*/
-int vg_msg_getkvintg( vg_msg *msg, const char *key, u8 type, void *dst )
+int vg_msg_getkvintg( vg_msg *msg, const char *key, u8 type, void *dst,
+ void *default_value )
{
vg_msg_cmd cmd;
if( vg_msg_getkvcmd( msg, key, &cmd ) )
}
else
{
- memset( dst, 0, vg_msg_cmd_bytecount(type) );
+ if( default_value )
+ memcpy( dst, default_value, vg_msg_cmd_bytecount(type) );
+ else
+ memset( dst, 0, vg_msg_cmd_bytecount(type) );
+
return 0;
}
}