Blame src/regression/strverscmp.c
|
Szabolcs Nagy |
da2b7d |
// leading zero handling according to the manual
|
|
Szabolcs Nagy |
da2b7d |
#define _GNU_SOURCE
|
|
Szabolcs Nagy |
da2b7d |
#include <string.h>
|
|
Szabolcs Nagy |
da2b7d |
#include "test.h"
|
|
Szabolcs Nagy |
da2b7d |
|
|
Szabolcs Nagy |
da2b7d |
#define ASSERT(x) ((x) || (t_error(#x " failed\n"),0))
|
|
Szabolcs Nagy |
da2b7d |
|
|
Szabolcs Nagy |
da2b7d |
int main()
|
|
Szabolcs Nagy |
da2b7d |
{
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("", "") == 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("a", "a") == 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("a", "b") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("b", "a") > 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("000", "00") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("00", "000") > 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("a0", "a") > 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("00", "01") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("01", "010") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("010", "09") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("09", "0") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("9", "10") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("0a", "0") > 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("foobar-1.1.2", "foobar-1.1.3") < 0);
|
|
Szabolcs Nagy |
da2b7d |
ASSERT(strverscmp("foobar-1.1.2", "foobar-1.01.3") > 0);
|
|
Szabolcs Nagy |
da2b7d |
return t_status;
|
|
Szabolcs Nagy |
da2b7d |
}
|