Exemplo n.º 1
0
int			main(int ac, char **av)
{
	t_env	env;
	int		j;
	int		i;

	ft_bzero(&env, sizeof(env));
	if (ac == 1)
		ft_nm(&env, "a.out", 0);
	else if (ac > 1)
	{
		i = run_parse_arguments(&env.params, ac, av);
		j = i;
		if (!i)
			return (EXIT_FAILURE);
		if (i >= ac)
			ft_nm(&env, "a.out", 0);
		else
		{
			while (i < ac)
			{
				ft_nm(&env, av[i], ac - j > 1);
				i++;
			}
		}
	}
}
Exemplo n.º 2
0
void			arch_loop(t_env *e, t_ranlib *ran, t_arch_hdr *hdr, int s)
{
	int				i;
	unsigned int	check_ran_off;
	t_arch_hdr		*hdr_name;
	void			*start;

	i = 0;
	check_ran_off = -1;
	start = (void*)e->mem;
	while (i < s)
	{
		if (ran[i].ran_off != check_ran_off)
		{
			hdr_name = (void*)start + ran[i].ran_off;
			e->mem = (void*)hdr_name + sizeof(t_arch_hdr) +
				get_size_arch(hdr->ar_name);
			ft_putstr("\n");
			ft_putstr(e->filename);
			ft_putstr("(");
			ft_putstr(get_name_arch(hdr_name->ar_name));
			ft_putendl("):");
			ft_nm(e);
		}
		check_ran_off = ran[i].ran_off;
		i++;
	}
}
Exemplo n.º 3
0
int				main(int ac, char **av)
{
	char		*path;
	char		*file;
	struct stat	buf;

	if ((ac = ft_options(&av, NM_OPTIONS, 0)))
	{
		while (*av)
		{
			path = *av;
			file = 0;
			if (ac == 1)
				path = "a.out";
			if (ac > 2)
				ft_printf("\n%s:\n", path);
			if (mmap_file(path, &buf, &file) == SUCCESS)
			{
				ft_nm(file, path);
				munmap_file(file, &buf);
			}
			av++;
		}
	}
	return (FT_EXIT);
}