Ejemplo n.º 1
0
static void
print_list (GList *list)
{
	MateVFSFileInfo *info;
	GList *node;

	if (list == NULL) {
		printf ("  (No files)\n");
		return;
	}

	for (node = list; node != NULL; node = node->next) {
		const gchar *mime_type;
	
		info = node->data;

		mime_type = mate_vfs_file_info_get_mime_type (info);
		if (mime_type == NULL)
			mime_type = "(Unknown)";

		printf ("  File `%s'%s%s%s (%s, %s), size %ld, mode %04o\n",
			info->name,
			MATE_VFS_FILE_INFO_SYMLINK (info) ? " [link: " : "",
			MATE_VFS_FILE_INFO_SYMLINK (info) ? info->symlink_name : "",
			MATE_VFS_FILE_INFO_SYMLINK (info) ? " ]" : "",
			type_to_string (info->type),
			mime_type,
			(glong) info->size,
			info->permissions);
	}
}
static void
print_info (MateVFSFileInfo *info)
{
	const char *mime_type;
	struct tm *loctime;

	fprintf (stdout, "Name: '%s'\n", info->name);
	if (info->valid_fields & MATE_VFS_FILE_INFO_FIELDS_TYPE) {
		fprintf (stdout, "Type: ");
		switch (info->type) {
		case MATE_VFS_FILE_TYPE_UNKNOWN:
			fprintf (stdout, "unknown");
			break;
		case MATE_VFS_FILE_TYPE_REGULAR:
			fprintf (stdout, "regular");
			break;
		case MATE_VFS_FILE_TYPE_DIRECTORY:
			fprintf (stdout, "directory");
			break;
		case MATE_VFS_FILE_TYPE_FIFO:
			fprintf (stdout, "fifo");
			break;
		case MATE_VFS_FILE_TYPE_SOCKET:
			fprintf (stdout, "socket");
			break;
		case MATE_VFS_FILE_TYPE_CHARACTER_DEVICE:
			fprintf (stdout, "char");
			break;
		case MATE_VFS_FILE_TYPE_BLOCK_DEVICE:
			fprintf (stdout, "block");
			break;
		case MATE_VFS_FILE_TYPE_SYMBOLIC_LINK:
			fprintf (stdout, "symlink\n");
			fprintf (stdout, "symlink points to: %s", 
				 info->symlink_name);
			break;
		default:
			fprintf (stdout, "Error; invalid value");
			break;
		}
	} else
		fprintf (stdout, "Type invalid");
	fprintf (stdout, "\n");

	if (info->valid_fields & MATE_VFS_FILE_INFO_FIELDS_SIZE) {
		long i = info->size;
		fprintf (stdout, "Size: %ld bytes", i);
	} else {
		fprintf (stdout, "Size invalid");
	}
	fprintf (stdout, "\n");

	mime_type = mate_vfs_file_info_get_mime_type (info);

	fprintf (stdout, "Mime Type: %s \n", mime_type);
        
	loctime = localtime(&info->atime);
	fprintf (stdout, "Last Accessed: %s", asctime(loctime));
	loctime = localtime(&info->mtime);
	fprintf (stdout, "Last Modified: %s", asctime(loctime));
	loctime = localtime(&info->ctime);
	fprintf (stdout, "Last Changed: %s", asctime(loctime));
        
	fprintf (stdout, "uid: %d\n", info->uid);

	fprintf (stdout, "gid: %d\n", info->gid);
	fprintf (stdout, "\n");
	/* FIXME bugzilla.eazel.com 2800: hack here; should dump them all */
}