added chunk_compare() which compares orders chunks
This commit is contained in:
parent
51ae94d775
commit
ef49c3486a
|
@ -230,6 +230,21 @@ chunk_t chunk_skip(chunk_t chunk, size_t bytes)
|
|||
return chunk_empty;
|
||||
}
|
||||
|
||||
/**
|
||||
* Described in header.
|
||||
*/
|
||||
int chunk_compare(chunk_t a, chunk_t b)
|
||||
{
|
||||
int compare_len = a.len - b.len;
|
||||
int len = (compare_len < 0)? a.len : b.len;
|
||||
|
||||
if (compare_len != 0 || len == 0)
|
||||
{
|
||||
return compare_len;
|
||||
}
|
||||
return memcmp(a.ptr, b.ptr, len);
|
||||
};
|
||||
|
||||
/**
|
||||
* Described in header.
|
||||
*/
|
||||
|
|
|
@ -123,6 +123,12 @@ void chunk_free(chunk_t *chunk);
|
|||
*/
|
||||
chunk_t chunk_skip(chunk_t chunk, size_t bytes);
|
||||
|
||||
/**
|
||||
* Compare two chunks, returns zero if a equals b
|
||||
* or negative/positive if a is small/greater than b
|
||||
*/
|
||||
int chunk_compare(chunk_t a, chunk_t b);
|
||||
|
||||
/**
|
||||
* Compare two chunks for equality,
|
||||
* NULL chunks are never equal.
|
||||
|
|
Loading…
Reference in New Issue