Finished moving obiblob functions to obiblob files and documentation for

obiblob functions
This commit is contained in:
Celine Mercier
2016-04-21 15:18:14 +02:00
parent bce360bbd5
commit 4ead37ee48
3 changed files with 95 additions and 17 deletions

View File

@ -55,3 +55,37 @@ Obi_blob_p obi_blob(byte_t* encoded_value, uint8_t element_size, int32_t length_
return blob;
}
int obi_blob_compare(Obi_blob_p value_1, Obi_blob_p value_2)
{
int comp;
int32_t b;
if (value_1->element_size != value_2->element_size)
return (value_1->element_size - value_2->element_size);
if (value_1->length_encoded_value != value_2->length_encoded_value)
return (value_1->length_encoded_value - value_2->length_encoded_value);
if (value_1->element_size != ELEMENT_SIZE_STR) // because if so, length_decoded_value == length_encoded_value
{
if (value_1->length_decoded_value != value_2->length_decoded_value)
return (value_1->length_decoded_value - value_2->length_decoded_value);
}
b = 0;
comp = 0;
while (!comp && (b < value_1->length_encoded_value))
{
comp = *((value_1->value)+b) - *((value_2->value)+b);
b++;
}
return comp;
}
int obi_blob_sizeof(Obi_blob_p value)
{
return (sizeof(Obi_blob_t) + (value->length_encoded_value));
}