Exemplo n.º 1
0
//don't clear tabidx
void cio_clear(cio *io) {
	size_t i;
	cstr_clear(io->rbuf);
	cstr_clear(io->wbuf);
	for(i = 0; i < io->argc; i++) {
		obj_decr(io->argv[i]);
	}
	if(io->argv != NULL) jfree(io->argv);
	io->mask = 0;
	io->reqtype = REQ_TYPE_NORMAL;
	io->argc = 0;
	io->nbulk = 0;
	io->bulk_len = 0;
	io->argv = NULL;
	io->flag = 0;
	io->wcount = 0;
}
Exemplo n.º 2
0
int test_copy()
{
    int failures = 0;
    const int test_count = 4;

    cstring *Vojto = cstr_create_str("Ahoj Karle");
    cstring *Albert = copy(Vojto, 2, 6);

    printf("\n*** Testing buildin copy ***\n");

    if (strcmp(Albert->str, "hoj Ka") != 0) {
        print_cstr_all(Albert);
        failures++;
    }

    cstr_clear(Albert);
    Albert = copy(Vojto, 1, 2);

    if (strcmp(Albert->str, "Ah") != 0) {
        print_cstr_all(Albert);
        failures++;
    }

    cstr_clear(Albert);
    Albert = copy(Vojto, 6, 2);

    if (strcmp(Albert->str, "Ka") != 0) {
        print_cstr_all(Albert);
        failures++;
    }

    cstr_clear(Vojto);
    cstr_clear(Albert);
    Albert = copy(Vojto, 1, 10);
    if (strcmp(Albert->str, "") != 0) {
        print_cstr_all(Albert);
        failures++;
    }

    print_result(test_count, failures);

    return failures;

}
Exemplo n.º 3
0
int test_sort()
{
    int failures = 0;
    const int test_count = 4;
    printf("\n*** Testing buildin sort ***\n");
    cstring *Vojto = cstr_create_str("abcABCdefDEF");

    cstring *Albert = Vojto;
    sort(&Albert);

    if (strcmp(Albert->str, "ABCDEFabcdef") != 0) {
        print_cstr_all(Vojto);
        failures++;
    }

    cstr_clear(Vojto);
    cstr_append_str(Vojto, "123987");
    cstring *Pavel = Vojto;
    sort(&Pavel);

    if ((strcmp(Pavel->str, "123789") != 0)) {
        print_cstr_all(Vojto);
        failures++;
    }

    cstr_clear(Vojto);
    cstr_append_str(Vojto, "1234abCDefGH");
    cstring *Adam = Vojto;
    sort(&Adam);

    if ((strcmp(Adam->str, "1234CDGHabef") != 0)) {
        print_cstr_all(Vojto);
        failures++;
    }

    print_result(test_count, failures);


    return failures;
}
Exemplo n.º 4
0
/**
 * @brief Assigns cstring to cstring.
 * @param s poiter to cstring where will be cstr assigned.
 * @param cstr cstring that will be assigned.
 * @return cstring
 *
 * Uses static function @see append implemented in cstring.c, more details
 * written there.
 */
cstring *cstr_assign_cstr(cstring *s, cstring const *cstr)
{
	if (!s)
    {
        debug("Cstring where to assigne is not given.\n");
        return NULL;
    }
    if (!cstr)
    {
        debug("Cstring which will be assigned is not given.\n");
        return NULL;
    }

    cstr_clear(s);
    return append(s, cstr->str, cstr->size);
}
Exemplo n.º 5
0
cstring *cstr_read_line(cstring *cstr)
{
	if(!cstr)
	{
		debug("cstirng not given.\n");
		return NULL;
	}

	int ch;
	cstr_clear(cstr);

	while(1)
	{
		ch = getchar();
		if(ch == '\n' || ch == EOF)
			return cstr;
		cstr_append_chr(cstr, ch);
	}
}
Exemplo n.º 6
0
int main(int argc, char *argv[])
{
    cli_init();
    log_init();
    thread_init();
    cmd_init();
    dev_addr_mgr_init();
    addr_sock_init();
    socket_init();
    dev_router_init();
    cli_commands_init();

    broadcast_msg_t msg;
    dev_addr_mgr_add_support_dev_type(1);
    dev_addr_mgr_set_network_type(NETWORK_TYPE_CENTER);
    dev_addr_mgr_set_addr_mac(0x89ABCDE0);

    dev_router_set_mac_local(0x89ABCDE0);

#ifdef TEST_CLIENT
    ex_memzero_one(&msg);
    strcpy(msg.dev_name, "1004");
    msg.router_list_lens[0] = 3;
    msg.router_list_lens[1] = 3;
    msg.router_list_lens[2] = 0;
    msg.router_list_lens[3] = 0;
    msg.router_cnt = 7;
    msg.router_list_cnt = 2;
    msg.network_nodes[0].dev_type = 1;
    msg.network_nodes[0].addr_mac = 0x89ABCDE0;
    msg.network_nodes[0].subnet_cnt = 4;
    msg.network_nodes[0].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[0].dev_name, "1004");

    msg.network_nodes[1].dev_type = 1;
    msg.network_nodes[1].addr_mac = 0x89ABCDE1;
    msg.network_nodes[1].subnet_cnt = 4;
    msg.network_nodes[1].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[1].dev_name, "1003");

    msg.network_nodes[2].dev_type = 1;
    msg.network_nodes[2].addr_mac = 0x89ABCDE2;
    msg.network_nodes[2].subnet_cnt = 4;
    msg.network_nodes[2].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[2].dev_name, "1002");

    msg.network_nodes[3].dev_type = 1;
    msg.network_nodes[3].addr_mac = 0x89ABCDE3;
    msg.network_nodes[3].subnet_cnt = 4;
    msg.network_nodes[3].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[3].dev_name, "1001");

    msg.network_nodes[4].dev_type = 1;
    msg.network_nodes[4].addr_mac = 0x89ABCDE4;
    msg.network_nodes[4].subnet_cnt = 4;
    msg.network_nodes[4].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[4].dev_name, "1005");

    msg.network_nodes[5].dev_type = 1;
    msg.network_nodes[5].addr_mac = 0x89ABCDE5;
    msg.network_nodes[5].subnet_cnt = 4;
    msg.network_nodes[5].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[5].dev_name, "1006");

    msg.network_nodes[6].dev_type = 1;
    msg.network_nodes[6].addr_mac = 0x89ABCDE6;
    msg.network_nodes[6].subnet_cnt = 4;
    msg.network_nodes[6].network_type = NETWORK_TYPE_ROUTER;
    strcpy(msg.network_nodes[6].dev_name, "1007");
#endif

    socket_listen_async(50002);
    socket_listen_cli(49999);
    socket_recv_start();
#ifdef TEST_SERVER
    socket_bc_tx_start("test", 50000, 50001, 50002);
#endif
#ifdef TEST_CLIENT
    socket_bc_rx_start("test", 50000, 50001, &msg);
#endif

#if 0
    cstr *json = cstr_new();
    int fd = 0;
    fd = socket_cli_send_request("127.0.0.1", 49999, "test");
    socket_cli_recv_response(fd, json);
    cstr_clear(json);
    fd = socket_cli_send_request("127.0.0.1", 49999, "test f**k");
    socket_cli_recv_response(fd, json);
    cstr_clear(json);
    fd = socket_cli_send_request("127.0.0.1", 49999, "f**k f**k f**k you test f**k");
    socket_cli_recv_response(fd, json);
    cstr_free(json);
#endif

    cli_loop();

    dev_addr_mgr_release();
    socket_release();
    cmd_release();
    thread_release();
    log_release();
    cli_release();
#if 0
  cli_cmd_t cmd;
  int i = 0;

  command_init(&cmd, argv[0], "0.0.1");
  command_option(&cmd, "-v", "--verbose", "enable verbose stuff", verbose);
  command_option(&cmd, "-r", "--required <arg>", "required arg", required);
  command_option(&cmd, "-o", "--optional [arg]", "optional arg", optional);
  command_parse(&cmd, argc, argv);
  printf("additional args:\n");
  for (i = 0; i < cmd.argc; ++i) {
    printf("  - '%s'\n", cmd.argv[i]);
  }
  command_free(&cmd);
#endif
    return 0;
}
Exemplo n.º 7
0
/**
 * @brief Assigns string to cstring.
 * @param s poiter to cstring where will be str assigned.
 * @param str string that will be assigned.
 * @return cstring
 *
 * Uses static function @see append implemented in cstring.c, more details
 * written there.
 */
cstring *cstr_assign_str(cstring *s, char const *str)
{
    cstr_clear(s);
    return append(s, str, strlen(str));
}