2019-07-27 22:44:32 +08:00
|
|
|
|
#include "lib_acl.h"
|
2014-11-19 00:25:21 +08:00
|
|
|
|
|
|
|
|
|
static ACL_DLINK *build(void)
|
|
|
|
|
{
|
|
|
|
|
const char *myname = "build";
|
|
|
|
|
ACL_DLINK *dlink = acl_dlink_create(100);
|
|
|
|
|
|
2017-09-13 11:17:00 +08:00
|
|
|
|
printf("add: -10 -- -10\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, -10, -10);
|
|
|
|
|
printf("add: -9 -- -9\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, -9, -9);
|
|
|
|
|
printf("add: -8 -- -7\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, -8, -7);
|
|
|
|
|
printf("\r\n");
|
|
|
|
|
|
|
|
|
|
printf("add: -4 -- -4\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, -4, -4);
|
|
|
|
|
printf("\r\n");
|
|
|
|
|
|
|
|
|
|
printf("add: -2 -- -1\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, -2, -1);
|
|
|
|
|
printf("add: 0 -- 7\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 0, 7);
|
|
|
|
|
printf("add: 8 -- 10\r\n");
|
2014-11-19 00:25:21 +08:00
|
|
|
|
acl_dlink_insert(dlink, 8, 10);
|
2017-09-13 11:17:00 +08:00
|
|
|
|
printf("add: 11 -- 10\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 11, 10);
|
|
|
|
|
printf("add: 12 -- 14\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 12, 12);
|
|
|
|
|
printf("add: 13 -- 14\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 13, 14);
|
|
|
|
|
printf("add: 15 -- 16\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 15, 16);
|
|
|
|
|
printf("add: 17 -- 18\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 17, 18);
|
|
|
|
|
printf("add: 15 -- 18\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 15, 18);
|
|
|
|
|
printf("\r\n");
|
|
|
|
|
|
|
|
|
|
printf("add: 20 -- 21\r\n");
|
2014-11-19 00:25:21 +08:00
|
|
|
|
acl_dlink_insert(dlink, 20, 21);
|
2017-09-13 11:17:00 +08:00
|
|
|
|
printf("add: 21 -- 28\r\n");
|
2014-11-19 00:25:21 +08:00
|
|
|
|
acl_dlink_insert(dlink, 21, 28);
|
2017-09-13 11:17:00 +08:00
|
|
|
|
printf("\r\n");
|
|
|
|
|
|
|
|
|
|
printf("add: 31 -- 40\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 31, 40);
|
|
|
|
|
printf("add: 32 -- 40\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 32, 40);
|
|
|
|
|
printf("add: 33 -- 35\r\n");
|
|
|
|
|
acl_dlink_insert(dlink, 33, 35);
|
|
|
|
|
printf("add: 41 -- 48\r\n");
|
2014-11-19 00:25:21 +08:00
|
|
|
|
acl_dlink_insert(dlink, 41, 48);
|
2017-09-13 11:17:00 +08:00
|
|
|
|
printf("\r\n");
|
|
|
|
|
|
|
|
|
|
printf("add: 51 -- 58\r\n");
|
2014-11-19 00:25:21 +08:00
|
|
|
|
acl_dlink_insert(dlink, 51, 58);
|
|
|
|
|
|
|
|
|
|
printf("\r\n%s:\r\n", myname);
|
|
|
|
|
acl_dlink_list(dlink);
|
|
|
|
|
return (dlink);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void delete_check(acl_off_t ibegin, acl_off_t iend)
|
|
|
|
|
{
|
|
|
|
|
ACL_DLINK *dlink = build();
|
|
|
|
|
|
|
|
|
|
printf(">>> after delete " ACL_FMT_I64D "-" ACL_FMT_I64D ":\r\n", ibegin, iend);
|
|
|
|
|
acl_dlink_delete_range(dlink, ibegin, iend);
|
|
|
|
|
acl_dlink_list(dlink);
|
|
|
|
|
acl_dlink_free(dlink);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void test(void)
|
|
|
|
|
{
|
|
|
|
|
delete_check(0, 5);
|
|
|
|
|
delete_check(0, 10);
|
|
|
|
|
delete_check(0, 20);
|
|
|
|
|
delete_check(0, 21);
|
|
|
|
|
delete_check(0, 27);
|
|
|
|
|
delete_check(0, 28);
|
|
|
|
|
delete_check(0, 40);
|
|
|
|
|
delete_check(0, 41);
|
|
|
|
|
delete_check(0, 44);
|
|
|
|
|
delete_check(0, 47);
|
|
|
|
|
delete_check(0, 48);
|
|
|
|
|
delete_check(0, 50);
|
|
|
|
|
delete_check(0, 51);
|
|
|
|
|
delete_check(0, 52);
|
|
|
|
|
delete_check(0, 57);
|
|
|
|
|
delete_check(0, 58);
|
|
|
|
|
printf("Enter any key to continue ...\r\n");
|
|
|
|
|
getchar();
|
|
|
|
|
delete_check(5, 7);
|
|
|
|
|
delete_check(5, 9);
|
|
|
|
|
delete_check(5, 10);
|
|
|
|
|
delete_check(5, 20);
|
|
|
|
|
delete_check(5, 21);
|
|
|
|
|
delete_check(5, 27);
|
|
|
|
|
delete_check(5, 28);
|
|
|
|
|
delete_check(5, 41);
|
|
|
|
|
delete_check(5, 47);
|
|
|
|
|
delete_check(5, 48);
|
|
|
|
|
delete_check(5, 50);
|
|
|
|
|
delete_check(5, 51);
|
|
|
|
|
delete_check(5, 57);
|
|
|
|
|
delete_check(5, 58);
|
|
|
|
|
printf("Enter any key to continue ...\r\n");
|
|
|
|
|
getchar();
|
|
|
|
|
delete_check(10, 10);
|
|
|
|
|
delete_check(10, 11);
|
|
|
|
|
delete_check(10, 20);
|
|
|
|
|
delete_check(10, 21);
|
|
|
|
|
delete_check(10, 27);
|
|
|
|
|
delete_check(10, 28);
|
|
|
|
|
delete_check(10, 31);
|
|
|
|
|
delete_check(10, 37);
|
|
|
|
|
delete_check(10, 38);
|
|
|
|
|
delete_check(10, 41);
|
|
|
|
|
delete_check(10, 48);
|
|
|
|
|
delete_check(10, 50);
|
|
|
|
|
delete_check(10, 57);
|
|
|
|
|
delete_check(10, 58);
|
|
|
|
|
printf("Enter any key to continue ...\r\n");
|
|
|
|
|
getchar();
|
|
|
|
|
delete_check(20, 20);
|
|
|
|
|
delete_check(20, 21);
|
|
|
|
|
delete_check(20, 42);
|
|
|
|
|
delete_check(20, 48);
|
|
|
|
|
delete_check(20, 51);
|
|
|
|
|
delete_check(20, 58);
|
|
|
|
|
delete_check(41, 57);
|
|
|
|
|
delete_check(41, 59);
|
|
|
|
|
delete_check(50, 57);
|
|
|
|
|
delete_check(50, 59);
|
|
|
|
|
delete_check(51, 57);
|
|
|
|
|
delete_check(51, 58);
|
|
|
|
|
delete_check(51, 59);
|
|
|
|
|
|
|
|
|
|
printf("Enter any key to quit\r\n");
|
|
|
|
|
getchar();
|
|
|
|
|
}
|
|
|
|
|
int main(int argc acl_unused, char *argv[] acl_unused)
|
|
|
|
|
{
|
2017-09-13 11:17:00 +08:00
|
|
|
|
acl_dlink_free(build());
|
|
|
|
|
printf("Enter any key to continue ...\r\n");
|
|
|
|
|
getchar();
|
|
|
|
|
|
2014-11-19 00:25:21 +08:00
|
|
|
|
test();
|
|
|
|
|
return (0);
|
|
|
|
|
}
|