ascii detection in for version info implemented.

FossilOrigin-Name: 604c4ffd49ce1969ba36cccdd2e8c19b726ddda56c4815d295802a9e920bcb66
This commit is contained in:
user@SRH-Linux-01.(none) 2014-07-30 06:50:12 +00:00
parent 64874f17db
commit 9a745234cb
1 changed files with 21 additions and 11 deletions

View File

@ -22,6 +22,8 @@
#include "capwap.h"
#include "capwap_ieee80211.h"
#include "cw_util.h"
#include "sock.h"
int radioinfo_print(char * str, struct radioinfo * radioinfo)
@ -58,22 +60,30 @@ static int version_print(char *s, const uint8_t *version, int len, uint32_t vend
if (!version)
return sprintf(s,"Not set\n");
int rs=0;
int i;
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]);
if ( cw_is_printable(version,len) ){
rs+=sprintf(s+rs,"%s",version);
}
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,")");
}
rs+=sprintf(s+rs,")");
rs+=sprintf(s+rs,", Vendor Id: %d",vendor);