Ejemplo n.º 1
0
void		print_files_long(t_files *file, char *options,
		int links_column, int size_column)
{
	ft_putchar(file->type);
	ft_putstr(file->permissions);
	ft_putchar(' ');
	pad_with_spaces(file, links_column, 1);
	ft_putnbr(file->links);
	ft_putchar(' ');
	if (!ft_strchr(options, 'g'))
	{
		ft_putstr(file->owner);
		ft_putchar(' ');
	}
	ft_putstr(file->group);
	ft_putchar(' ');
	print_file_size(file, size_column);
	ft_putchar(' ');
	ft_putstr(file->date);
	ft_putchar(' ');
	if (ft_strchr(options, 'G'))
		add_color(file);
	ft_putstr(file->name);
	ft_putstr("\033[0m");
	if (file->type == 'l')
		print_link(file);
	ft_putchar('\n');
}
Ejemplo n.º 2
0
int
main(int argc, const char *argv[])
{
	if (argc < 2) {
		fprintf(stderr, "Usage: %s filename len\n", argv[0]);
		exit(1);
	}

	int i = 1;
	while (i < argc && argv[i][0] == '-') {
		switch (argv[i][1]) {
			case 'v':
				Opt_verbose = 1;
				break;
			case 's':
				Opt_sparse = 1;
				break;
			case 'f':
				Opt_force = 1;
				break;
			default:
				out_err("Unknown option: \'%c\'.", argv[i][1]);
				exit(2);
		}
		++i;
	}

	const char *filename = argv[i];
	long long len = atoll(argv[i + 1]);

	if (len < 0) {
		out_err("Invalid file length: %lld.\n", len);
		exit(3);
	}

	if (create_sparse_file(filename, len) < 0) {
		out_err("File creation failed.");
		exit(4);
	}

	if (Opt_verbose)
		print_file_size(filename);

	return 0;
}
Ejemplo n.º 3
0
void print_file_info (const const char * filename)
{
	struct stat buf;

	//获取文件的stat结构
	stat (filename, &buf);

	//打印出文件类型
	print_file_mode (buf);
	   

	//打印储存权限
	print_file_permissions (buf);

	//打印数目
	printf (" ");
	print_file_nlink (buf);	

	//打印文件从属
	printf (" ");
	print_file_bt_user (buf);
	printf (" ");
	print_file_bt_grp (buf);

	//打印文件大小
	printf (" ");
	print_file_size (buf);

	//打印时间
	printf(" ");
	print_file_mtime (buf);
	
	//打印文件名
	printf (" ");
	
	print_file_name((char *)filename);
	printf ("\n");
}