Print only printable characters from refid
This commit is contained in:
parent
22f0da4da6
commit
a3288d4284
1 changed files with 12 additions and 7 deletions
19
util.c
19
util.c
|
@ -244,14 +244,19 @@ UTI_TimestampToString(NTP_int64 *ts)
|
||||||
char *
|
char *
|
||||||
UTI_RefidToString(unsigned long ref_id)
|
UTI_RefidToString(unsigned long ref_id)
|
||||||
{
|
{
|
||||||
unsigned int a, b, c, d;
|
unsigned int i, j, c;
|
||||||
char *result;
|
char buf[5], *result;
|
||||||
a = (ref_id>>24) & 0xff;
|
|
||||||
b = (ref_id>>16) & 0xff;
|
for (i = j = 0; i < 4; i++) {
|
||||||
c = (ref_id>> 8) & 0xff;
|
c = (ref_id >> (24 - i * 8)) & 0xff;
|
||||||
d = (ref_id>> 0) & 0xff;
|
if (isprint(c))
|
||||||
|
buf[j++] = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf[j] = '\0';
|
||||||
|
|
||||||
result = NEXT_BUFFER;
|
result = NEXT_BUFFER;
|
||||||
snprintf(result, BUFFER_LENGTH, "%c%c%c%c", a, b, c, d);
|
snprintf(result, BUFFER_LENGTH, "%s", buf);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue