Exemplo n.º 1
0
int s_dir_file (char *path, s_dir_t *dir)
{
        s_dir_t *s_dir;
        s_file_t *s_file;
	struct stat stbuf;

	if (stat(path, &stbuf)) {
		printf("Cannot access %s\n", path);
		goto err;
	}
	if (S_ISDIR(stbuf.st_mode & S_IFMT)) {
		s_dir_init(&s_dir);
		s_dir->path = strdup(path);
		s_dir_path2dir_name(path, &s_dir->base, &s_dir->name);
		s_dir->up = dir;
		s_list_add(dir->dirs, s_dir, -1);
		s_dir_walk(path, s_dir);
	}
	if (S_ISREG(stbuf.st_mode & S_IFMT)) {
		s_file_init(&s_file);
		s_file->path = strdup(path);
		s_dir_path2dir_name(path, &s_file->base, &s_file->name);
		s_list_add(dir->files, s_file, -1);
	}
	
	return 0;

err:	return -1;
}
Exemplo n.º 2
0
int						main(int argc, char **argv)
{
	struct s_file	*sfile;
	t_lsargs		lsargs;

	if (argc == 0)
		exit(1);
	lsargs = analyze_args(argv);
	sfile = s_file_init(lsargs);
	initialize(sfile, lsargs);
	//free(sfile);//?
	s_file_free(sfile);		////
	return (0);
}