コード例 #1
0
ファイル: options.c プロジェクト: dennishamester/vifm
TEARDOWN()
{
	reset_cmds();
	clear_options();

	free(cfg.slow_fs_list);
	cfg.slow_fs_list = NULL;

	free(cfg.apropos_prg);
	free(cfg.cd_path);
	free(cfg.find_prg);
	free(cfg.fuse_home);
	free(cfg.time_format);
	free(cfg.vi_command);
	free(cfg.vi_x_command);
	free(cfg.ruler_format);
	free(cfg.status_line);
	free(cfg.grep_prg);
	free(cfg.locate_prg);
	free(cfg.border_filler);
	free(cfg.shell);

	columns_free(lwin.columns);
	lwin.columns = NULL;
	free(lwin.view_columns);
	lwin.view_columns = NULL;

	columns_free(rwin.columns);
	rwin.columns = NULL;
	free(rwin.view_columns);
	rwin.view_columns = NULL;
}
コード例 #2
0
ファイル: onewire.c プロジェクト: knielsen/blipduino
static int8_t
ow_record_temp(uint8_t dummy __attribute__((unused)))
{
    char *p, *q;
    uint16_t tu;
    int16_t t = (int16_t)((uint16_t)ow_read_buf[0] | ((uint16_t)(ow_read_buf[1]) << 8)) / 2;
    int8_t count_remain = ow_read_buf[6];
    int16_t t_16 = 16*t - count_remain + (16 - 4);
    p= last_temp_buf;
    if (t_16 < 0)
    {
        *p++ = '-';
        tu= (uint16_t)0 - (uint16_t)t_16;
    }
    else
        tu= (uint16_t)t_16;
    p= sprint_uint16_b10(p, tu/16);
    *p++ = '.';
    q= sprint_uint16_b10(p, tu%16*(10000/16));
    p+= 4;
    while (q < p)
        *q++ = '0';
    *p= '\0';

    /* Schedule a new temperature measurement in a bit. */
    reset_cmds(ow_cmds_read_temp_simple);
    ow_delay_ms(250);

    /*
      Hack: return error; this way we avoid updating the cmd counter after
      return, which would cause us to skip the first step of the second round.
    */
    return -1;
}
コード例 #3
0
ファイル: commands_filter.c プロジェクト: acklinr/vifm
TEARDOWN()
{
	view_teardown(&lwin);
	view_teardown(&rwin);

	reset_cmds();
}
コード例 #4
0
ファイル: vtc.c プロジェクト: BMDan/Varnish-Cache
int
exec_file(const char *fn, const char *script, const char *tmpdir,
    char *logbuf, unsigned loglen)
{
	unsigned old_err;
	FILE *f;
	struct extmacro *m;

	signal(SIGPIPE, SIG_IGN);

	vtc_loginit(logbuf, loglen);
	vltop = vtc_logopen("top");
	AN(vltop);

	init_macro();
	init_sema();

	/* Apply extmacro definitions */
	VTAILQ_FOREACH(m, &extmacro_list, list)
		macro_def(vltop, NULL, m->name, "%s", m->val);

	/*
	 * We need an IP number which will not repond, ever, and that is a
	 * lot harder than it sounds.  This IP# is from RFC5737 and a
	 * C-class broadcast at that.
	 * If tests involving ${bad_ip} fails and you run linux, you should
	 * check your /proc/sys/net/ipv4/ip_nonlocal_bind setting.
	 */
	macro_def(vltop, NULL, "bad_ip", "192.0.2.255");

	/* Move into our tmpdir */
	AZ(chdir(tmpdir));
	macro_def(vltop, NULL, "tmpdir", "%s", tmpdir);

	/* Drop file to tell what was going on here */
	f = fopen("INFO", "w");
	AN(f);
	fprintf(f, "Test case: %s\n", fn);
	AZ(fclose(f));

	vtc_stop = 0;
	vtc_log(vltop, 1, "TEST %s starting", fn);

	vtc_thread = pthread_self();
	parse_string(script, cmds, NULL, vltop);
	old_err = vtc_error;
	vtc_stop = 1;
	vtc_log(vltop, 1, "RESETTING after %s", fn);
	reset_cmds(cmds);
	vtc_error = old_err;

	if (vtc_error)
		vtc_log(vltop, 1, "TEST %s FAILED", fn);
	else
		vtc_log(vltop, 1, "TEST %s completed", fn);

	return (vtc_error);
}
コード例 #5
0
ファイル: sync.c プロジェクト: cfillion/vifm
TEARDOWN()
{
	reset_cmds();

	free(cfg.slow_fs_list);
	cfg.slow_fs_list = NULL;

	free_view(&lwin);
	free_view(&rwin);
}
コード例 #6
0
ファイル: chase_links.c プロジェクト: cfillion/vifm
TEARDOWN()
{
	reset_cmds();

	update_string(&cfg.slow_fs_list, NULL);

	cfg.chase_links = 0;

	free_view(&lwin);
	free_view(&rwin);
}
コード例 #7
0
TEARDOWN()
{
	opt_handlers_teardown();

	reset_cmds();

	columns_free(lwin.columns);
	lwin.columns = NULL;
	update_string(&lwin.view_columns, NULL);
	update_string(&lwin.sort_groups, NULL);
	update_string(&lwin.sort_groups_g, NULL);

	columns_free(rwin.columns);
	rwin.columns = NULL;
	update_string(&rwin.view_columns, NULL);

	columns_clear_column_descs();
}
コード例 #8
0
ファイル: commands.c プロジェクト: acklinr/vifm
TEARDOWN()
{
	restore_cwd(saved_cwd);

	update_string(&cfg.cd_path, NULL);
	update_string(&cfg.fuse_home, NULL);
	update_string(&cfg.slow_fs_list, NULL);

	stats_update_shell_type("/bin/sh");
	update_string(&cfg.shell, NULL);

	view_teardown(&lwin);
	view_teardown(&rwin);

	reset_cmds();

	undo_teardown();
}
コード例 #9
0
ファイル: builtin.c プロジェクト: cosminadrianpopescu/vifm
SETUP()
{
	reset_cmds();
	init_commands();
}
コード例 #10
0
ファイル: builtin.c プロジェクト: sklnd/vifm
static void
setup(void)
{
	reset_cmds();
	init_commands();
}
コード例 #11
0
ファイル: cmdline_completion.c プロジェクト: langner/vifm
SETUP()
{
	static int option_changed;
	optval_t def = { .str_val = "/tmp" };

	cfg.slow_fs_list = strdup("");

	init_builtin_functions();

	stats.line = wcsdup(L"set ");
	stats.index = wcslen(stats.line);
	stats.curs_pos = 0;
	stats.len = stats.index;
	stats.cmd_pos = -1;
	stats.complete_continue = 0;
	stats.history_search = 0;
	stats.line_buf = NULL;
	stats.complete = &complete_cmd;

	init_commands();

	execute_cmd("command bar a");
	execute_cmd("command baz b");
	execute_cmd("command foo c");

	init_options(&option_changed);
	add_option("fusehome", "fh", OPT_STR, 0, NULL, fusehome_handler, def);

	assert_int_equal(0, chdir("test-data/existing-files"));
}

TEARDOWN()
{
	assert_int_equal(0, chdir("../.."));

	free(cfg.slow_fs_list);
	cfg.slow_fs_list = NULL;

	free(stats.line);
	reset_cmds();
	clear_options();

	function_reset_all();
}

static void
fusehome_handler(OPT_OP op, optval_t val)
{
}

TEST(leave_spaces_at_begin)
{
	char *buf;

	vle_compl_reset();
	assert_int_equal(1, complete_cmd(" qui", NULL));
	buf = vle_compl_next();
	assert_string_equal("quit", buf);
	free(buf);
	buf = vle_compl_next();
	assert_string_equal("quit", buf);
	free(buf);
}

TEST(only_user)
{
	char *buf;

	vle_compl_reset();
	assert_int_equal(8, complete_cmd("command ", NULL));
	buf = vle_compl_next();
	assert_string_equal("bar", buf);
	free(buf);

	vle_compl_reset();
	assert_int_equal(9, complete_cmd(" command ", NULL));
	buf = vle_compl_next();
	assert_string_equal("bar", buf);
	free(buf);

	vle_compl_reset();
	assert_int_equal(10, complete_cmd("  command ", NULL));
	buf = vle_compl_next();
	assert_string_equal("bar", buf);
	free(buf);
}

TEST(test_set_completion)
{
	vle_compl_reset();
	assert_success(line_completion(&stats));
	assert_wstring_equal(L"set all", stats.line);
}

TEST(no_sdquoted_completion_does_nothing)
{
	free(stats.line);
	stats.line = wcsdup(L"command '");
	stats.len = wcslen(stats.line);
	stats.index = stats.len;

	vle_compl_reset();
	assert_success(line_completion(&stats));
	assert_wstring_equal(L"command '", stats.line);
}

static void
prepare_for_line_completion(const wchar_t str[])
{
	free(stats.line);
	stats.line = wcsdup(str);
	stats.len = wcslen(stats.line);
	stats.index = stats.len;
	stats.complete_continue = 0;

	vle_compl_reset();
}
コード例 #12
0
ファイル: onewire.c プロジェクト: knielsen/blipduino
/* Start a list of commands; return 0 on ok, -1 on error. */
static int8_t
start_cmds(const struct onewire_cmd *cmds)
{
    reset_cmds(cmds);
    return next_onewire();
}
コード例 #13
0
ファイル: vtc.c プロジェクト: acdha/Varnish-Cache
int
exec_file(const char *fn, const char *script, const char *tmpdir,
    char *logbuf, unsigned loglen)
{
	unsigned old_err;
	char *cwd, *p;
	FILE *f;
	struct extmacro *m;

	signal(SIGPIPE, SIG_IGN);

	vtc_loginit(logbuf, loglen);
	vltop = vtc_logopen("top");
	AN(vltop);

	init_macro();
	init_sema();

	/* Apply extmacro definitions */
	VTAILQ_FOREACH(m, &extmacro_list, list)
		macro_def(vltop, NULL, m->name, m->val);

	/* Other macro definitions */
	cwd = getcwd(NULL, PATH_MAX);
	macro_def(vltop, NULL, "pwd", cwd);
	macro_def(vltop, NULL, "topbuild", "%s/%s", cwd, TOP_BUILDDIR);
	macro_def(vltop, NULL, "bad_ip", "10.255.255.255");

	/* Move into our tmpdir */
	AZ(chdir(tmpdir));
	macro_def(vltop, NULL, "tmpdir", tmpdir);

	/* Drop file to tell what was going on here */
	f = fopen("INFO", "w");
	AN(f);
	fprintf(f, "Test case: %s\n", fn);
	AZ(fclose(f));

	vtc_stop = 0;
	vtc_desc = NULL;
	vtc_log(vltop, 1, "TEST %s starting", fn);

	p = strdup(script);
	AN(p);

	vtc_thread = pthread_self();
	parse_string(p, cmds, NULL, vltop);
	old_err = vtc_error;
	vtc_stop = 1;
	vtc_log(vltop, 1, "RESETTING after %s", fn);
	reset_cmds(cmds);
	vtc_error = old_err;

	if (vtc_error)
		vtc_log(vltop, 1, "TEST %s FAILED", fn);
	else
		vtc_log(vltop, 1, "TEST %s completed", fn);

	free(vtc_desc);
	return (vtc_error);
}
コード例 #14
0
ファイル: commands_filetype.c プロジェクト: acklinr/vifm
TEARDOWN()
{
	reset_cmds();
}