Ejemplo n.º 1
0
int main()
{
	OBJ env;
	OBJ find;
	OBJ name;

	env = env_null();
	obj_write(stdout,env_frame(env));
	printf("\n");

	name = obj_make_symbol("if");
	find = lookup_variable_value(name,env);
	obj_write(stdout,find);
	find = lookup_variable_value(name,env);
	obj_write(stdout,find);

	printf("\n");
	obj_write(stdout,env_frame(env));
	printf("\n");

	gc(env);
	printf("\n");
	obj_write(stdout,env_frame(env));
	printf("\n");
	return 0;
}
Ejemplo n.º 2
0
Archivo: ps1.c Proyecto: GayKevin/42sh
int	find_ps1(t_shell *sh)
{
  int	p;
  int	l;

  l = -1;
  p = -1;
  sh->ps_1 = malloc(sizeof(char) * 1024);
  sh->ps1 = malloc(sizeof(char) * 1025);
  memset(sh->ps_1, 0, 1024);
  memset(sh->ps1, 0, 1024);
  sh->ps_1[0] = 'P';
  sh->ps_1[1] = 'S';
  sh->ps_1[2] = '1';
  while (sh->env[++p] != NULL)
    if ((compare_env_dollar(sh->ps_1, sh, p)) == 0)
      {
	while (sh->env[p][++l] != '=');
	memset(sh->ps_1, 0, 1024);
	my_strncpy(sh->ps_1, sh->env[p], (l + 1));
	find_ps1_stuff(sh);
	return (0);
      }
  env_null(sh, p);
  return (0);
}
Ejemplo n.º 3
0
OBJ env_init()
{
	OBJ ret;
	int i;

	ret = env_null();
	for(i=0; i<sizeof(core_primitive)/sizeof(core_primitive[0]); i++)
	{
		define(obj_make_symbol(core_primitive[i].value.primitive.name),&core_primitive[i],ret);
	}
	return ret;
}