summaryrefslogtreecommitdiff
path: root/bittorrent/mbtstr/src/cmp.c
blob: 58c12d8cbf560dcfca931da3889b1b70e4840609 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <complex.h>
#include <stdbool.h>
#include <string.h>

#include "mbtstr/view.h"

int mbt_cview_cmp(struct mbt_cview lhs, struct mbt_cview rhs)
{
    size_t min = lhs.size > rhs.size ? rhs.size : lhs.size;
    for (size_t i = 0; i < min; i++)
    {
        if (lhs.data[i] != rhs.data[i])
            return lhs.data[i] - rhs.data[i];
    }
    if (rhs.size == lhs.size)
        return 0;
    return lhs.size - rhs.size;
}