New Msg elements.

FossilOrigin-Name: da49daaf31e87aedf07df5cbb40ec0ebdb7c2c4d4ea4370b84cfe2d5a86306b7
This commit is contained in:
7u83@mail.ru
2015-04-26 21:52:11 +00:00
parent fef05e5f37
commit d6aa56ded4
15 changed files with 287 additions and 26 deletions

View File

@ -511,6 +511,64 @@ int cw_format_item(char *dst,mbag_item_t * item)
return 0;
}
static int cw_format_version(char *s, vendorstr_t ver, char * def)
{
if (!ver)
return sprintf(s,"%s",def);
uint8_t * version = vendorstr_data(ver);
int len = vendorstr_len(ver);
int rs=0;
int i;
if ( cw_is_utf8(version,len) ){
if (len != 0 )
rs+=sprintf(s+rs,"%.*s",len,version);
else
rs+=sprintf(s+rs,"''");
}
else{
for (i=0; i<len && i<20; i++){
rs+=sprintf(s+rs,"%02X",version[i]);
}
int dot=0;
rs+=sprintf(s+rs," (");
for (i=0; i<len && i<20; i++){
if (dot)
rs+=sprintf(s+rs,".");
dot=1;
rs+=sprintf(s+rs,"%d",version[i]);
}
rs+=sprintf(s+rs,")");
}
uint32_t vendor = vendorstr_get_vendor_id(ver);
rs+=sprintf(s+rs,", Vendor Id: %d, %s",vendor, lw_vendor_id_to_str(vendor));
return rs;
}
void cw_dbg_version_subelem(int level,const char*context,int subtype,vendorstr_t vstr)
{
if ( !cw_dbg_is_level(level))
return;
if (!vstr)
return;
char v[256];
cw_format_version(v,vstr,"");
cw_dbg(level,"%s: SubType %d, %s",context,subtype,v);
}
/*
void dbg_istore_dmp(mbag_t s)
{