コード例 #1
0
ファイル: check_line.c プロジェクト: Fusiow/msh
char	*replace_esc_char(char *str, char replace, int flag, int *i)
{
	replace = 0;
	if (str[*i + 1] == 'a')
		replace = '\a';
	else if (str[*i + 1] == 'b')
		replace = '\b';
	else if (str[*i + 1] == 'n')
		replace = '\n';
	else if (str[*i + 1] == 't')
		replace = '\t';
	else if (str[*i + 1] == 'v')
		replace = '\v';
	else if (str[*i + 1] == 'f')
		replace = '\f';
	else if (str[*i + 1] == 'r')
		replace = '\r';
	if (replace && flag)
	{
		++*i;
		str = del_c(str, i);
		++*i;
		str = del_c(str, i);
		str = change_cmd(*i, ft_strdup(str), replace);
	}
	return (str);
}
コード例 #2
0
ファイル: read.c プロジェクト: Fusiow/msh
int		distrib_buttons(int i, char **result, char *buffer, int *v)
{
	if (buffer[0] == 10)
		return (-2);
	else if (buffer[0] == 27 && buffer[1] == 91)
		i = distrib_arrow(i, result, buffer, v);
	else if (buffer[0] == 127)
		*result = del_c(*result, &i);
	else if (buffer[0] == 9 && *result && i == ft_strlen(*result))
		i = distrib_tab(i, result);
	else if (buffer[0] == 12)
		clear_and_prompt();
	else if (buffer[0] == 1)
		i = ctrl_a(i, result);
	else if (buffer[0] == 5)
		i = ctrl_k(i, result);
	else if (buffer[0] == 21)
	{
		clear_line(i + 1, ft_strlen(*result));
		*result = NULL;
		i = 0;
	}
	else if (buffer[0] == 4)
		ft_exit(NULL);
	else
		ft_putstr(tgetstr("le", NULL));
	return (i);
}
コード例 #3
0
ファイル: main.cpp プロジェクト: eyedeeemm/tests
int main () {
    cout << "begin main" << endl;
    lt_dlhandle _dl_c;
    NEW_C new_c;
    DEL_C del_c;
    c *_c;

    lt_dlinit ();

    _dl_c = lt_dlopen ("./c.so");
    if (! _dl_c) {
        cout << "lt_dlopen ./c.so failed" << endl;
        return -1;
    }

    new_c = (NEW_C) lt_dlsym (_dl_c, "new_c");
    if (! new_c) { 
        cout << "lt_dlsym failed: " << lt_dlerror () << endl;
        return -2;
    }

    del_c = (DEL_C) lt_dlsym (_dl_c, "del_c");
    if (! del_c) {
        cout << "lt_dlsym failed: " << lt_dlerror () << endl;
        return -3;
    }

    new_c (&_c, 5);

    _c->print_x ();

    cout << "_c->x = 10" << endl;
    _c->x = 10;

    _c->print_x ();

    del_c (_c);

    lt_dlclose (_dl_c);
    lt_dlexit ();

    cout << "end main" << endl;
    return 0;
}