New fiile.
FossilOrigin-Name: 3cbf1deb9b9832bb33364e01ec99fd15fc6318105ccae2aebe612a65eb5f45b8
This commit is contained in:
parent
105c9cf519
commit
b0191ba570
38
src/capwap/bstr_to_str.c
Normal file
38
src/capwap/bstr_to_str.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "bstr.h"
|
||||||
|
#include "cw_util.h"
|
||||||
|
|
||||||
|
int bstr_to_str(char *dst, bstr_t str,char * def)
|
||||||
|
{
|
||||||
|
if (!str){
|
||||||
|
if (!def)
|
||||||
|
return 0;
|
||||||
|
return sprintf(dst,"%s",def);
|
||||||
|
}
|
||||||
|
|
||||||
|
int printable = cw_is_printable(bstr_data(str),bstr_len(str));
|
||||||
|
int l=bstr_len(str);
|
||||||
|
|
||||||
|
if (printable){
|
||||||
|
memcpy((char*)dst,bstr_data(str),l);
|
||||||
|
*(dst+l)=0;
|
||||||
|
return l;
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
int c=0;
|
||||||
|
char *s = dst;
|
||||||
|
for (i=0; i<l; i++){
|
||||||
|
if (!c){
|
||||||
|
|
||||||
|
s += sprintf(s,"%02X",bstr_data(str)[i]);
|
||||||
|
c=1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
s += sprintf(s,",%02X",bstr_data(str)[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return s-dst;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user