mxf: Optimize mxf_ul_is_subclass() a bit

This commit is contained in:
Sebastian Dröge 2009-03-19 20:41:16 +01:00
parent b409f71f49
commit 226f23edde

View file

@ -89,7 +89,7 @@ mxf_ul_is_equal (const MXFUL * a, const MXFUL * b)
gboolean gboolean
mxf_ul_is_subclass (const MXFUL * class, const MXFUL * subclass) mxf_ul_is_subclass (const MXFUL * class, const MXFUL * subclass)
{ {
guint i, j; guint i;
g_return_val_if_fail (class != NULL, FALSE); g_return_val_if_fail (class != NULL, FALSE);
g_return_val_if_fail (subclass != NULL, FALSE); g_return_val_if_fail (subclass != NULL, FALSE);
@ -99,23 +99,7 @@ mxf_ul_is_subclass (const MXFUL * class, const MXFUL * subclass)
/* registry version */ /* registry version */
continue; continue;
if (class->u[i] == 0x00) { if (class->u[i] != 0x00 && class->u[i] != subclass->u[i])
gboolean terminated = TRUE;
for (j = i; j < 16; j++) {
if (class->u[j] != 0x00) {
terminated = FALSE;
break;
}
}
if (terminated)
return TRUE;
continue;
}
if (class->u[i] != subclass->u[i])
return FALSE; return FALSE;
} }