glib r7865 - trunk/gio
- From: alexl svn gnome org
- To: svn-commits-list gnome org
- Subject: glib r7865 - trunk/gio
- Date: Mon, 16 Feb 2009 14:22:44 +0000 (UTC)
Author: alexl
Date: Mon Feb 16 14:22:43 2009
New Revision: 7865
URL: http://svn.gnome.org/viewvc/glib?rev=7865&view=rev
Log:
2009-02-13 Ryan Lortie <desrt desrt ca>
Bug 505042 â add file attribute for actually used file size in bytes
* gfileinfo.h: add G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE define to
"standard::allocated-size"
* gfileattribute.c: document
* glocalfileinfo.c: set the allocated size from st_blocks * 512
Modified:
trunk/gio/ChangeLog
trunk/gio/gfileattribute.c
trunk/gio/gfileinfo.h
trunk/gio/glocalfileinfo.c
Modified: trunk/gio/gfileattribute.c
==============================================================================
--- trunk/gio/gfileattribute.c (original)
+++ trunk/gio/gfileattribute.c Mon Feb 16 14:22:43 2009
@@ -148,6 +148,7 @@
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE</entry><entry>standard::content-type</entry><entry>string</entry></row>
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE</entry><entry>standard::fast-content-type</entry><entry>string</entry></row>
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SIZE</entry><entry>standard::size</entry><entry>uint64</entry></row>
+ * <row><entry>%G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE</entry><entry>standard::allocated-size</entry><entry>uint64</entry></row>
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET</entry><entry>standard::symlink-target</entry><entry>byte string</entry></row>
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_TARGET_URI</entry><entry>standard::target-uri</entry><entry>string</entry></row>
* <row><entry>%G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER</entry><entry>standard::sort-order</entry><entry>int32</entry></row>
Modified: trunk/gio/gfileinfo.h
==============================================================================
--- trunk/gio/gfileinfo.h (original)
+++ trunk/gio/gfileinfo.h Mon Feb 16 14:22:43 2009
@@ -192,6 +192,18 @@
#define G_FILE_ATTRIBUTE_STANDARD_SIZE "standard::size" /* uint64 */
/**
+ * G_FILE_ATTRIBUTE_ALLOCATED_SIZE:
+ *
+ * A key in the "standard" namespace for getting the amount of disk space
+ * that is consumed by the file (in bytes). This will generally be larger
+ * than the file size (due to block size overhead) but can occasionally be
+ * smaller (for example, for sparse files).
+ *
+ * Corresponding #GFileAttributeType is %G_FILE_ATTRIBUTE_TYPE_UINT64.
+ **/
+#define G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE "standard::allocated-size" /* uint64 */
+
+/**
* G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET:
*
* A key in the "standard" namespace for getting the symlink target, if the file
Modified: trunk/gio/glocalfileinfo.c
==============================================================================
--- trunk/gio/glocalfileinfo.c (original)
+++ trunk/gio/glocalfileinfo.c Mon Feb 16 14:22:43 2009
@@ -940,6 +940,8 @@
#endif
#if defined (HAVE_STRUCT_STAT_ST_BLOCKS)
g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_UNIX_BLOCKS, statbuf->st_blocks);
+ g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE,
+ statbuf->st_blocks * G_GUINT64_CONSTANT (512));
#endif
g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED, statbuf->st_mtime);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]