fixed output of qualifier flags

This commit is contained in:
Andreas Steffen 2011-11-18 22:03:35 +01:00
parent 32a3739f08
commit 031be70453
1 changed files with 6 additions and 7 deletions

View File

@ -227,20 +227,19 @@ METHOD(pts_component_manager_t, get_qualifier, u_int8_t,
{
qualifier = name->get_qualifier(name);
size = entry->qualifier_type_size;
flag = (1 << size);
/* mask qualifier type field */
type = qualifier & (flag - 1);
type = qualifier & ((1 << size) - 1);
/* determine flags */
size = PTS_QUALIFIER_SIZE - size;
flag = (1 << (PTS_QUALIFIER_SIZE - 1));
if (flags)
{
for (i = 0 ; i < size; i++)
for (i = 0 ; i < PTS_QUALIFIER_SIZE - size; i++)
{
flags[size-i-1] = (qualifier & flag) ?
entry->qualifier_flag_names[i] : '.';
flag <<= 1;
flags[i] = (qualifier & flag) ?
entry->qualifier_flag_names[i] : '.';
flag >>= 1;
}
flags[size] = '\0';
}