1 2008-01-29 Alexander Larsson <alexl@redhat.com>
4 (_g_unix_content_type_get_parents):
5 Use list_parents, not get_parents from xdgmime, because
6 the later doesn't use the cache.
8 * xdgmime/xdgmimecache.c:
9 (_xdg_mime_cache_list_mime_parents):
10 Don't list the same type as parent multiple times.
12 2008-01-28 Matthias Clasen <mclasen@redhat.com>
14 * === Released 2.15.4 ===
16 2008-01-28 Alexander Larsson <alexl@redhat.com>
19 Register local vfs with prio 0.
22 Remove old name and prio class members
24 2008-01-28 Matthias Clasen <mclasen@redhat.com>
26 * tests/g-file.c: Disable some tests that are failing in
27 the absence of a http backend.
29 2008-01-28 Alexander Larsson <alexl@redhat.com>
33 Add registration hooks for extension points.
34 Register the gio extension points.
36 * fam/gfamdirectorymonitor.c:
37 * fam/gfamfilemonitor.c:
38 * glocaldirectorymonitor.[ch]:
39 * glocalfilemonitor.[ch]:
40 * gnativevolumemonitor.h:
41 * gunionvolumemonitor.c:
42 * gunixvolumemonitor.c:
45 * inotify/ginotifydirectorymonitor.c:
46 * inotify/ginotifyfilemonitor.c:
47 Use the extension points registration instead
50 2008-01-28 Matthias Clasen <mclasen@redhat.com>
53 * gvolume.[hc]: Document new API.
55 * gfile.c (g_file_copy_async): Fix docs
57 2008-01-27 Matthias Clasen <mclasen@redhat.com>
59 * gbufferedinputstream.c:
61 * goutputstream.c: Replace uses of G_GNUC_PRETTY_FUNCTION by
64 2008-01-27 Matthias Clasen <mclasen@redhat.com>
66 * glocalfile.c: Avoid trivial differences in translatable strings.
68 2008-01-25 Matthias Clasen <mclasen@redhat.com>
70 * fam/fam-helper.c (fam_event_to_file_monitor_event): Make this
71 build with gcc 3.4 (#509419)
73 2008-01-25 Matthias Clasen <mclasen@redhat.com>
75 * gfilemonitor.c: Add references to g_file_monitor_file/directory()
76 (#509994, Murray Cumming)
78 2008-01-25 Matthias Clasen <mclasen@redhat.com>
80 * gioscheduler.h: Make GIOSchedulerJobFunc return boolean
81 * gioscheduler.c: Keep calling io jobs until they return FALSE;
82 this allows big jobs to be executed in chunks, instead of blocking
83 the main loop for a long time.
85 * gsimpleasyncresult.c:
86 * giofile.c: Adapt callers.
88 2008-01-25 Alexander Larsson <alexl@redhat.com>
91 Implement changes discussed on xdg list.
92 Now we can add supported mimetypes by just using defaults.list
93 We can also remove associations in defaults.list.
95 2008-01-25 Alexander Larsson <alexl@redhat.com>
98 Don't make local copy of desktop file
99 for mimetype changes if the file already
100 supports the new mimetype.
102 2008-01-25 Matthias Clasen <mclasen@redhat.com>
106 * gbufferedinputstream.c:
107 * glocalfile.c: String improvements. (#511966,
108 Theppitak Karoonboonyanan)
110 2008-01-24 Matthias Clasen <mclasen@redhat.com>
112 * gioscheduler.h: Expand docs a bit.
114 2008-01-24 Alexander Larsson <alexl@redhat.com>
117 Add g_drive_get_identifier and
118 g_drive_enumerate_identifiers
121 Add g_volume_get_identifier and
122 g_volume_enumerate_identifiers
128 Implement identifiers for unix backend
130 2008-01-24 Alexander Larsson <alexl@redhat.com>
135 Add g_file_copy_async() (#511580)
136 Based on patch from Carlos Garcia Campos
138 2008-01-23 Matthias Clasen <mclasen@redhat.com>
140 * gioscheduler.c: Some documentation additions.
142 2008-01-22 Alexander Larsson <alexl@redhat.com>
145 (g_desktop_app_info_new):
148 2008-01-22 Alexander Larsson <alexl@redhat.com>
151 (g_desktop_app_info_new_from_filename):
154 2008-01-22 Alexander Larsson <alexl@redhat.com>
156 * glocalfileinfo.c (get_thumbnail_attributes):
159 2008-01-22 Alexander Larsson <alexl@redhat.com>
162 (canonicalize_filename):
163 Canonicalize paths that start with more than
168 (test_g_file_new_for_path):
171 2008-01-22 Alexander Larsson <alexl@redhat.com>
174 Allow UTF-8 in file:// parse names.
177 * tests/data-input-stream.c:
178 * tests/data-output-stream.c:
179 * tests/g-file-info.c:
181 Added a bunch of tests from Tomas Bzatek
183 2008-01-21 Matthias Clasen <mclasen@redhat.com>
185 * === Released 2.15.3 ===
187 2008-01-21 Alexander Larsson <alexl@redhat.com>
189 * gfileinputstream.[ch]:
190 * gfileoutputstream.[ch]:
192 Remove duplicated GSeekable functions. (#509990)
193 Just use the g_seekable_xxx() calls instead.
195 2008-01-21 Matthias Clasen <mclasen@redhat.com>
198 * gvolumemanager.c: Whitespace cleanups.
200 * glocalfileoutputsteam.c (_g_local_file_output_stream_create):
201 Use the right mode when creating the file.
203 2008-01-21 Murray Cumming,,, <murrayc@murrayc.com>
206 * gfileinputstream.c:
208 * goutputstream.c: Documentation: Fixed minor typos
209 and added more mentions of specific _finish() functions.
211 2008-01-21 Alexander Larsson <alexl@redhat.com>
213 * inotify/Makefile.am:
214 * inotify/inotify-helper.c:
215 * inotify/inotify-kernel.c:
216 * inotify/inotify-path.c:
217 * inotify/local_inotify.h: Removed.
218 * inotify/local_inotify_syscalls.h: Removed.
219 Removed the included copies of the inotify
220 headers. We now only use the <sys/inotify.h>
221 header which exists on modern systems.
222 This fixes problems on ARM and SH5 (#510448)
223 but is also generally much cleaner and future
224 safe. For instance, if other OSes add support
225 for inotify it should "just work".
227 2008-01-20 Matthias Clasen <mclasen@redhat.com>
229 * inotify/*.c: Coding style fixes.
230 * inotify/inotify-missing.c: Use g_timeout_add_seconds
231 for the 1/4 Hz timer.
233 2008-01-20 Matthias Clasen <mclasen@redhat.com>
237 * gmemoryinputstream.c:
238 * gmemoryoutputstream.c:
240 * gthemedicon.c: Documentation updates
242 2008-01-20 Murray Cumming <murrayc@murrayc.com>
244 * gfile.c: documentation: Fixed more minor
247 2008-01-18 Murray Cumming <murrayc@murrayc.com>
249 * gmount.c: (g_mount_remount): documentation:
250 Mention g_mount_remount_finish() instead of
251 g_mount_unmount_finish().
253 2008-01-18 Murray Cumming <murrayc@murrayc.com>
257 * gfile.c: Fixed some minor typos in the
260 2008-01-18 Murray Cumming <murrayc@murrayc.com>
262 * gio/gvolumemonitor.c:
263 (g_volume_monitor_get_connected_drives):
264 (g_volume_monitor_get_volumes):
265 (g_volume_monitor_get_mounts): Documentation:
266 Clarify the ownership of the regurn GLists.
268 2008-01-17 Alexander Larsson <alexl@redhat.com>
271 Add the async find_enclosing_mount version
272 to the header file too.
274 2008-01-17 Alexander Larsson <alexl@redhat.com>
277 Add async version of find_enclosing_mount
278 with default implementation.
280 2008-01-17 Alexander Larsson <alexl@redhat.com>
285 Allow calls to implementation of copy and write
286 even if the type of the file implementations is
287 different. This can be used to implement native
288 upload and download calls in a vfs.
292 Protect against the case where move is called
293 with one file not being local.
295 Make sure we call the progress callback once
296 in the native move operation so that the caller
297 knows how many bytes were copied.
299 2008-01-16 Murray Cumming <murrayc@murrayc.com>
302 * gdatainputstream.c:
304 * gfileoutputstream.c:
309 * gunixmounts.c: Corrected some typos in the documentation:
311 its -> it's (where appropriate).
313 2008-01-16 Alexander Larsson <alexl@redhat.com>
317 Add g_file_query_exists (#508771)
319 2008-01-15 Murray Cumming <murrayc@murrayc.com>
324 * gvolume.c: For async functions that have no non-async
325 version, document that the GAsyncReadyCallback may be NULL.
328 2008-01-15 Alexander Larsson <alexl@redhat.com>
330 * gmemoryinputstream.c:
331 * gmemoryoutputstream.c:
332 Don't do pointer arithmetic on void * (#508602)
333 Patch from Kazuki IWAMOTO
335 2008-01-14 Matthias Clasen <mclasen@redhat.com>
337 * === Released 2.15.2 ===
339 2008-01-14 Alexander Larsson <alexl@redhat.com>
341 * gfile.c (g_file_monitor_file):
342 Don't set error here, since we fallback to polling monitor.
344 2008-01-14 Alexander Larsson <alexl@redhat.com>
347 (g_file_monitor_directory):
348 (g_file_monitor_file):
349 Add GError to file monitor calls
351 * glocaldirectorymonitor.c:
352 * glocaldirectorymonitor.h:
354 * glocalfilemonitor.c:
355 * glocalfilemonitor.h:
357 Update for above change
359 2008-01-14 Alexander Larsson <alexl@redhat.com>
363 Handle root correctly in g_file_get_relative_path (#508719)
365 2008-01-14 Alexander Larsson <alexl@redhat.com>
368 Clean up docs and example for GAsyncResult (#508074)
370 2008-01-11 Murray Cumming <murrayc@murrayc.com>
372 * gfile.c: Clarify the sentence about GAsyncReadyCallback,
373 and correct some spelling mistakes. Bug #508108.
375 2008-01-11 Matthias Clasen <mclasen@redhat.com>
377 * glocalfileinfo.c: Add a comment.
379 2008-01-10 Murray Cumming <murrayc@murrayc.com>
381 * gfileinfo.c: GFileInfo description: Mention
382 how to actually set attributes in a GFile and how to discover
383 which attributes are settable. Bug #508378.
385 2008-01-10 A. Walton <awalton@svn.gnome.org>
387 * gdesktopappinfo.c: (g_app_info_get_all_for_type),
388 (g_app_info_get_default_for_type):
389 Check for NULL content types.
391 2008-01-10 Frederic Crozat <fcrozat@mandriva.com>
393 * gunixmounts.c: add rpc_pipefs to systemfs list (#508309).
395 2008-01-09 Murray Cumming <murrayc@murrayc.com>
397 * gfile.c: *_async() functions: Several small corrections
398 to the documentation, mostly correcting copy/paste errors
399 and improving some sentences.
401 2008-01-09 Dan Winship <danw@gnome.org>
403 * glocalfile.c (get_unique_filename): x86_64 fix
405 2008-01-09 Alexander Larsson <alexl@redhat.com>
410 Add g_unix_mount_guess_should_display and use
411 for unix volume monitor backend.
412 This means we more or less show what the
413 gnome-vfs backend did.
414 Based on patch from Padraig O'Briain
416 2008-01-09 Alexander Larsson <alexl@redhat.com>
420 Add g_themed_icon_new_with_default_fallbacks
423 Use default fallbacks for icons
425 2008-01-09 Alexander Larsson <alexl@redhat.com>
428 * gmountoperation.[ch]:
429 Change the API a bit so that unhandled methods
430 get reported via the reply, rather than by
431 the signal emission return value. This is because
432 some handlers can't know this immediately without
433 doing I/O, and this is an async operation that
436 2008-01-09 Alexander Larsson <alexl@redhat.com>
439 * fam/gfamdirectorymonitor.c:
440 * fam/gfamfilemonitor.c:
441 Fix double free crash (#508224)
442 Patch from Joe Marcus Clarke
444 008-01-07 Matthias Clasen <mclasen@redhat.com>
446 * === Released 2.15.1 ===
448 2008-01-07 Alexander Larsson <alexl@redhat.com>
450 * gunixinputstream.c (g_unix_input_stream_skip_finish):
451 Fix warning (#507835)
453 2008-01-07 Alexander Larsson <alexl@redhat.com>
456 Pass --internal to glib-genmarshal
461 Use better types for signal arguments (#507822)
463 2008-01-07 Alexander Larsson <alexl@redhat.com>
466 Build test subdir after .
467 Remove gdirectorymonitor.[ch]
469 * gdirectorymonitor.[ch]:
473 Remove GDirectoryMonitor and make
474 GFileMonitor the baseclass for both file and
475 directory monitors. Lift the more generic
476 rate limiting code from GDirectoryMonitor
480 * fam/gfamdirectorymonitor.[ch]:
481 * inotify/ginotifydirectorymonitor.[ch]:
482 * inotify/inotify-helper.c:
483 * glocaldirectorymonitor.[ch]:
486 Update for the removed GDirectoryMonitor.
488 * gmemoryoutputstream.c:
489 Remove ununsed variable
491 2008-01-07 Alexander Larsson <alexl@redhat.com>
493 * gmemoryinputstream.c:
494 Translate error strings
497 * gmemoryoutputstream.[ch]:
498 New implementation that avoids using GByteArray
499 in implementation and API. (#506377)
501 2008-01-06 Matthias Clasen <mclasen@redhat.com>
503 * tests/*: Add a test for memory input streams.
505 * Makefile.am: Add tests to SUBDIRS.
507 2008-01-06 Matthias Clasen <mclasen@redhat.com>
509 * glocalfilemonitor.c:
510 * glocaldirectorymonitor.c: Mark property nicks and blurbs
513 2008-01-06 Matthias Clasen <mclasen@redhat.com>
515 * gdesktopappinfo.c: Fix a docs typo.
517 * gfileattribute.c: Add information about extended attributes
518 to the documentation. (#505058)
520 2008-01-04 Alexander Larsson <alexl@redhat.com>
524 Use the right type (uint) for the ask_password signal.
526 2008-01-04 Alexander Larsson <alexl@redhat.com>
531 Add g_app_info_supports_files()
532 Remove desktop arg from g_app_info_should_show().
534 * gdesktopappinfo.[ch]:
535 Implement g_app_info_supports_files() and new should_show()
536 Add g_desktop_app_info_set_desktop_env() to set the desktop
537 for should_show(). (This will be set by gtk+ later)
539 2008-01-04 Alexander Larsson <alexl@redhat.com>
542 * gmemoryinputstream.[ch]:
543 Improve API so that you can use multiple chunks
544 of memory and custom destroy functions. (#506374)
546 2008-01-03 Alexander Larsson <alexl@redhat.com>
549 Handle NULL attribute matchers safely, as we return this
550 for empty attribute matcher strings.
552 2008-01-03 Alexander Larsson <alexl@redhat.com>
554 * gunixmounts.c (g_unix_is_mount_path_system_internal):
555 Add /usr/local to list of internal mountpoints
557 2008-01-03 Alexander Larsson <alexl@redhat.com>
560 Check for HAVE_LCHOWN (#505887)
562 2008-01-03 Alexander Larsson <alexl@redhat.com>
566 Add define for selinux context attribute.
567 Fix missing : -> :: namespace separator change
568 Fix missing _ -> - name change for xattr-sys.
571 2008-01-03 Alexander Larsson <alexl@redhat.com>
574 Link to libglib and libgobject directly (#504879)
575 Patch from Sebastien Bacher
577 2008-01-01 Wouter Bolsterlee <wbolster@svn.gnome.org>
579 * gfile.c: Expanded the g_file_new_for_commandline_arg
580 description a bit, based on the code and the docs of the
581 other g_file_new_for_* functions.
583 2007-12-31 Wouter Bolsterlee <wbolster@svn.gnome.org>
585 * gfilemonitor.h: Fixed typo in docs.
587 2007-12-31 Mathias Hasselmann <mathias@openismus.com>
589 Updates to GIO documentation. (#506395, Mikael Hermansson)
591 * gcontenttype.c: Describe memory management for return value of
592 g_content_types_get_registered(). Missing piece from #505815.
593 * gdrive.c, gmount.c, gvolumemonitor.c: Add more description to
594 GVolume, GDrive, GMounts, which hopefully gives the user less
595 confusions when using this API. Following explainations from
596 Alexander Larsson on gtk-devel-list.
598 2007-12-30 Matthias Clasen <mclasen@redhat.com>
600 * gfileinfo.c: Expand the long description.
602 2007-12-30 Matthias Clasen <mclasen@redhat.com>
605 * inotify/Makefile.am: Use GLIB_DEBUG_FLAGS. This should
606 fix builds with --disable-visibility. (#500273, Christian Persch)
608 2007-12-30 Matthias Clasen <mclasen@redhat.com>
610 * gdesktopfileinfo.c (g_app_info_get_all): Don't include NULLs
611 in the list of returned app infos.
613 2007-12-30 Matthias Clasen <mclasen@redhat.com>
615 * gappinfo.c: Fix a cross-reference
617 2007-12-30 Matthias Clasen <mclasen@redhat.com>
619 * gfileinputstream.c:
620 * gfileoutputstream.c:
626 * gfileinfo.c: Documentation updates.
628 2007-12-26 Matthias Clasen <mclasen@redhat.com>
630 * gdesktopappinfo.c: Include crt_externs.h. (#505730,
633 2007-12-26 Matthias Clasen <mclasen@redhat.com>
635 * gcontenttype.c (g_content_types_get_registered): Don't return
636 freed memory (#505815, Mikael Hermansson)
638 2007-12-25 Paolo Borelli <pborelli@katamail.com>
640 * glocalfileinfo.c (set_info_from_stat): fix typo in the ifdef
641 used to detect statbuf->st_blocks. (#505042)
643 2007-12-24 Matthias Clasen <mclasen@redhat.com>
645 * gdesktopappinfo.c (g_desktop_app_info_launch): Fix the
646 environment handling. (#504829, Cosimo Cecchi)
648 2007-12-22 Matthias Clasen <mclasen@redhat.com>
650 * gappinfo.c: Doc improvements
652 * gdesktopappinfo.c (g_app_info_get_all): Return app infos,
655 2007-12-20 Matthias Clasen <mclasen@redhat.com>
657 * === Released 2.15.0 ===
659 2007-12-20 Hans Breuer <hans@breuer.org>
661 * makefile.msc : don't build gdesktopappinfo.obj, it collides
662 with symbols gwin32appinfo.obj, added gmount.obj
663 * gio.symbols : mark g_desktop_app_* as G_OS_UNIX
665 2007-12-20 Alexander Larsson <alexl@redhat.com>
671 * gfilenamecompleter.c:
674 * gpollfilemonitor.c:
675 File attribute renames:
678 id::fs -> id::filesystem
680 2007-12-20 Alexander Larsson <alexl@redhat.com>
689 Add GMountUnmountFlags to all unmount and
691 Add g_mount_remount() call.
693 2007-12-20 Alexander Larsson <alexl@redhat.com>
695 * gvfs.c (get_default_vfs):
696 Fix unused variable warning
698 2007-12-19 Matthias Clasen <mclasen@redhat.com>
700 * pltcheck.sh: Update
702 2007-12-19 Matthias Clasen <mclasen@redhat.com>
704 * gunionvolumemonitor.c:
705 * gunixmount.c: Remove C99 comments
707 2007-12-19 Matthias Clasen <mclasen@redhat.com>
709 * gio.symbols: Add some missing symbols
711 2007-12-19 Alexander Larsson <alexl@redhat.com>
714 Make g_io_modules_load_all_in_directory not unuse
715 loaded modules so that users of it can do stuff
717 Init internal "module" types.
718 Initialize static prio and name for types so that
719 we don't have to load modules to get it.
721 * gnativevolumemonitor.h:
723 Move is_supported to parent class so that
724 non-native monitors can avoid being initialized
725 too. (For instance GDaemonVolumeMonitor if we're
726 not using GDaemonVfs.)
728 * glocaldirectorymonitor.[ch]:
729 * glocalfilemonitor.[ch]:
730 * gunionvolumemonitor.c:
731 * gunixvolumemonitor.c:
733 Find plugins using the static prio+name to
734 avoid unnecessarily loading the modules.
736 2007-12-19 Alexander Larsson <alexl@redhat.com>
741 2007-12-19 Alexander Larsson <alexl@redhat.com>
743 * gunionvolumemonitor.c:
744 Store the native type as GType, not class so that
745 we can unload it. But still avoid unnecessarily
748 2007-12-19 David Zeuthen <davidz@redhat.com>
750 Introduce g_volume_monitor_adopt_orphan_mount() function. Also
751 add signals 'disconnected' and 'eject-button' on GDrive. Add
752 signal 'removed' on GVolume and 'unmounted' on GMount.
754 * gdrive.c: (g_drive_base_init):
756 * gfile.c: (g_file_mount_mountable),
757 (g_file_mount_enclosing_volume):
760 * gmount.c: (g_mount_base_init):
762 * gunionvolumemonitor.c: (g_volume_monitor_adopt_orphan_mount):
763 * gunixvolumemonitor.c: (update_volumes), (update_mounts):
764 * gvolume.c: (g_volume_base_init), (g_volume_mount):
768 2007-12-17 Matthias Clasen <mclasen@redhat.com>
770 * *.c: Fix up includes in the section docs.
772 2007-12-17 Alexander Larsson <alexl@redhat.com>
774 * gnativevolumemonitor.h:
775 * gunionvolumemonitor.c:
776 * gunixvolumemonitor.c:
777 Add is_supported() to GNativeVolumeMonitorClass so
778 that we can avoid having to create an object to see
779 if the backend is supported at runtime.
780 Also add name member and an env var to pick a specific
781 volume monitor backend.
785 Add cancellable to _g_mount_get_for_mount_path()
787 * glocaldirectorymonitor.c:
788 * glocalfilemonitor.c:
789 Avoid loading and unloading modules while sorting.
791 2007-12-17 Matthias Clasen <mclasen@redhat.com>
794 * gunixmounts.[hc]: Namespace waste reduction, move some
795 g_get_unix_mount functions to the g_unix_mount namespace.
798 * gunixvolumemonitor.c:
800 * glocaldirectorymonitor.c: Update all callers.
802 * gunixmounts.h: Remove leftover g_unix_get_canonical_device_path
804 2007-12-17 Alexander Larsson <alexl@redhat.com>
807 Add doc comments about what GFile operations are
808 guaranteed to not block.
810 2007-12-17 Alexander Larsson <alexl@redhat.com>
813 Add missing #ifdef fixing OSX build.
814 (#503334, patch from Richard Hult)
816 2007-12-14 David Zeuthen <davidz@redhat.com>
820 * gmount.c: (g_mount_get_uuid), (g_mount_can_eject),
821 (g_mount_eject), (g_mount_eject_finish):
823 * gunionvolumemonitor.c: (g_union_volume_monitor_finalize),
824 (get_volume_for_uuid), (get_mount_for_uuid),
825 (g_union_volume_monitor_class_init),
826 (get_default_native_type_with_exclude), (get_default_native_type),
827 (get_native_type), (update_native_type),
828 (g_union_volume_monitor_init), (_g_mount_get_for_mount_path):
829 * gunixmount.c: (_g_unix_mount_new), (g_unix_mount_get_uuid),
830 (g_unix_mount_can_eject), (eject_unmount_cb),
831 (eject_unmount_read_error), (eject_unmount_do),
832 (g_unix_mount_unmount), (g_unix_mount_eject),
833 (g_unix_mount_eject_finish), (g_unix_mount_mount_iface_init):
834 * gunixmounts.c: (g_unix_mount_guess_can_eject),
835 (g_unix_mount_point_guess_can_eject):
837 * gunixvolume.c: (_g_unix_volume_new), (g_unix_volume_get_uuid),
838 (g_unix_volume_can_eject), (g_unix_volume_get_drive),
839 (eject_mount_cb), (eject_mount_read_error), (eject_mount_do),
840 (g_unix_volume_mount), (g_unix_volume_eject),
841 (g_unix_volume_eject_finish), (g_unix_volume_volume_iface_init):
842 * gunixvolumemonitor.c: (get_volume_for_uuid),
843 (get_mount_for_uuid), (g_unix_volume_monitor_class_init),
845 * gvolume.c: (g_volume_get_uuid), (g_volume_can_eject),
846 (g_volume_eject), (g_volume_eject_finish):
848 * gvolumemonitor.c: (g_volume_monitor_get_volume_for_uuid),
849 (g_volume_monitor_get_mount_for_uuid):
852 Provide eject() on both GMount and GVolume and utility functions
853 to guess whether a GUnixMountPoint or GUnixMountEntry should be
854 ejected. Introduce the concept of UUID's and wire it into GVolume
855 and GMount and provide API on GVolumeMonitor to find such
856 instances. Also handle the case where an external
857 GNativeVolumeMonitor fails to initialize. Lock around the
858 _g_get_mount_for_mount_path() function such that volume monitor
859 implementations won't have to do locking themselves.
861 2007-12-17 Matthias Clasen <mclasen@redhat.com>
869 * gvolume.h: Documentation updates
871 2007-12-14 Matthias Clasen <mclasen@redhat.com>
874 * gfile.h: Doc updates
876 2007-12-14 Matthias Clasen <mclasen@redhat.com>
879 * gdesktopappinfo.c: Use hash table iterators.
881 2007-12-14 Alexander Larsson <alexl@redhat.com>
884 * gfileattribute.[ch]:
885 * gfileattribute-priv.h:
886 Move GFileAttributeValue to a private header, as
890 Make set_attribute take a type + a pointer instead
891 of a GFileAttributeValue.
894 Fix up for above changes.
895 Add g_file_info_get_attribute_data to get
896 all info in one call, g_file_info_get_attribute_status
897 to get the status and g_file_info_get_attribute_as_string.
901 * glocalfileinfo.[ch]:
905 Make _guess_type static.
907 2007-12-14 Yevgen Muntyan <muntyan@tamu.edu>
910 * inotify/Makefile.am: Fixed build when srcdir != builddir,
911 made mkenums and friends use temporary files to avoid leaving
912 empty generated files on failure (#503470).
914 2007-12-14 Alexander Larsson <alexl@redhat.com>
919 2007-12-14 Alexander Larsson <alexl@redhat.com>
923 * gfileattribute.[ch]:
926 * glocalfileoutputstream.c:
927 * gmountoperation.[ch]:
928 * goutputstream.[ch]:
929 Clean up all flags enums to not have _FLAGS in them
930 Make the names of some of the enums better.
935 2007-12-14 Michael Natterer <mitch@imendio.com>
937 * gio.symbols: fix g_io_scheduler symbol names.
939 2007-12-14 Alexander Larsson <alexl@redhat.com>
945 * gbufferedinputstream.h:
946 * gbufferedoutputstream.h:
949 * gdatainputstream.h:
950 * gdataoutputstream.h:
952 * gdirectorymonitor.h:
959 * gfileinputstream.h:
961 * gfilenamecompleter.h:
962 * gfileoutputstream.h:
963 * gfilterinputstream.h:
964 * gfilteroutputstream.h:
972 * gmemoryinputstream.h:
973 * gmemoryoutputstream.h:
978 * gsimpleasyncresult.h:
980 * gunixinputstream.h:
982 * gunixoutputstream.h:
986 * inotify/Makefile.am:
987 Only allow including <gio/gio.h> from apps
989 2007-12-14 Alexander Larsson <alexl@redhat.com>
992 * gsimpleasyncresult.c:
993 Rename gioscheduler calls so they all use the g_io_schedule_ prefix.
994 Split out the send_to_mainloop call into two versions instead
995 of having the block argument.
997 2007-12-13 Alexander Larsson <alexl@redhat.com>
1001 * gbufferedinputstream.c:
1002 * gfileenumerator.c:
1003 * gfileinputstream.c:
1004 * gfileoutputstream.c:
1008 g_push/pop_current_cancellable ->
1009 g_cancellable_push/pop_current
1011 2007-12-13 Alexander Larsson <alexl@redhat.com>
1015 Rename g_mount_for_location to g_file_mount_enclosing_volume.
1017 2007-12-13 Alexander Larsson <alexl@redhat.com>
1019 * gmountoperation.h:
1020 G_PASSWORD_FLAGS_ANON_SUPPORTED -> G_PASSWORD_FLAGS_ANONYMOUS_SUPPORTED
1022 2007-12-12 Alexander Larsson <alexl@redhat.com>
1025 Fix race condition when freeing proxy in
1026 g_io_job_send_to_mainloop().
1028 2007-12-12 Alexander Larsson <alexl@redhat.com>
1034 Make attribute namespace separator "::" instead of ":".
1035 Use - instead of _ as separator in attribute names.
1037 2007-12-12 Alexander Larsson <alexl@redhat.com>
1039 * gbufferedinputstream.h:
1040 * gbufferedoutputstream.h:
1041 * gdatainputstream.h:
1042 * gdataoutputstream.h:
1043 * gdirectorymonitor.h:
1044 * gfileenumerator.h:
1045 * gfileinputstream.h:
1047 * gfileoutputstream.h:
1048 * gfilterinputstream.h:
1049 * gfilteroutputstream.h:
1051 * glocalfileinputstream.h:
1052 * glocalfileoutputstream.h:
1053 * gmemoryinputstream.h:
1054 * gmemoryoutputstream.h:
1055 * gnativevolumemonitor.h:
1057 * gunixinputstream.h:
1058 * gunixoutputstream.h:
1061 s/parent/parent_instance/ in GObjects
1063 2007-12-12 Alexander Larsson <alexl@redhat.com>
1068 No need for padding for interfaces
1070 2007-12-12 Alexander Larsson <alexl@redhat.com>
1074 * gbufferedinputstream.c:
1075 * gbufferedoutputstream.c:
1078 * gdatainputstream.[ch]:
1079 * gdesktopappinfo.c:
1080 * gdirectorymonitor.c:
1082 * gfileattribute.[ch]:
1085 * gfileinputstream.h:
1086 * gfilemonitor.[ch]:
1087 * gfileoutputstream.[ch]:
1088 * gfilterinputstream.h:
1089 * gfilteroutputstream.h:
1092 * gloadableicon.[ch]:
1093 * gmemoryinputstream.c:
1094 * gmountoperation.c:
1096 Fix up a bunch of details in the docs.
1101 2007-12-11 David Zeuthen <davidz@redhat.com>
1103 Rework how volumes, drives and volume monitoring is
1104 done. Previosly the model was
1106 GDrive <1-1> GVolume
1108 where a GDrive instance represented a mount point and a GVolume
1109 instance represented a mounted file system. This patch changes it
1112 GDrive <1-N> GVolume <1-1> GMount
1114 where GMount now serves the purpose of the old GVolume and the new
1115 GVolume serves the purpose of the old GDrive. In addition the new
1116 GDrive interface is used to represent a collection of GVolume
1117 instances (typically partitions) and also contains utility to query
1118 the state of the physical drive the GDrive object represents (such
1119 as checking for media, polling the drive, ejecting the media etc.).
1121 Also implement mounting and unmounting in the Unix volume monitor
1122 backend. A subquent patch will introduce GDrive support for ejection
1126 * gdrive.c: (g_drive_is_media_check_automatic),
1127 (g_drive_is_media_removable), (g_drive_has_media),
1128 (g_drive_can_poll_for_media), (g_drive_eject),
1129 (g_drive_eject_finish), (g_drive_poll_for_media),
1130 (g_drive_poll_for_media_finish):
1132 * gfile.c: (g_file_find_enclosing_mount):
1135 * glocaldirectorymonitor.c:
1136 (g_local_directory_monitor_constructor), (mounts_changed):
1137 * glocalfile.c: (get_mount_info),
1138 (g_local_file_find_enclosing_mount),
1139 (g_local_file_file_iface_init):
1140 * gnativevolumemonitor.h:
1141 * gunionvolumemonitor.c: (get_mounts), (get_volumes),
1142 (get_connected_drives), (g_union_volume_monitor_class_init),
1143 (child_volume_added), (child_volume_removed),
1144 (child_volume_changed), (child_mount_added), (child_mount_removed),
1145 (child_mount_pre_unmount), (child_mount_changed),
1146 (child_drive_changed), (g_union_volume_monitor_add_monitor),
1147 (g_union_volume_monitor_remove_monitor),
1148 (_g_mount_get_for_mount_path):
1149 * gunixmounts.c: (g_unix_is_mount_path_system_internal),
1150 (guess_system_internal), (_g_get_unix_mounts),
1151 (_g_get_unix_mount_points), (g_get_unix_mount_at),
1152 (g_unix_mount_free), (g_unix_mount_compare),
1153 (g_unix_mount_get_mount_path), (g_unix_mount_get_device_path),
1154 (g_unix_mount_get_fs_type), (g_unix_mount_is_readonly),
1155 (g_unix_mount_is_system_internal), (g_unix_mount_guess_type),
1156 (type_to_icon), (g_unix_mount_guess_name),
1157 (g_unix_mount_guess_icon), (g_unix_mount_point_guess_name),
1158 (g_unix_mount_point_guess_icon), (_canonicalize_filename),
1159 (_resolve_symlink), (_resolve_dev_root):
1161 * gunixvolume.c: (g_unix_volume_finalize), (_g_unix_volume_new),
1162 (_g_unix_volume_disconnected), (_g_unix_volume_set_mount),
1163 (_g_unix_volume_unset_mount), (g_unix_volume_get_icon),
1164 (g_unix_volume_get_name), (g_unix_volume_can_mount),
1165 (g_unix_volume_get_drive), (g_unix_volume_get_mount),
1166 (_g_unix_volume_has_mount_path), (mount_cb), (mount_read_error),
1167 (g_unix_volume_mount), (g_unix_volume_mount_finish),
1168 (g_unix_volume_volume_iface_init):
1170 * gunixvolumemonitor.c: (g_unix_volume_monitor_finalize),
1171 (get_mounts), (get_volumes), (get_connected_drives),
1172 (get_mount_for_mount_path), (g_unix_volume_monitor_class_init),
1173 (mountpoints_changed), (mounts_changed),
1174 (g_unix_volume_monitor_init),
1175 (_g_unix_volume_monitor_lookup_volume_for_mount_path),
1176 (find_mount_by_mountpath), (update_volumes), (update_mounts):
1177 * gunixvolumemonitor.h:
1178 * gvolume.c: (g_volume_get_mount), (g_volume_can_mount),
1179 (g_volume_mount), (g_volume_mount_finish):
1181 * gvolumemonitor.c: (g_volume_monitor_class_init),
1182 (g_volume_monitor_get_connected_drives),
1183 (g_volume_monitor_get_volumes), (g_volume_monitor_get_mounts):
1186 2007-12-10 Matthias Clasen <mclasen@redhat.com>
1188 * gmountoperation.h (GPasswordFlags): Close the gap
1190 2007-12-10 Matthias Clasen <mclasen@redhat.com>
1192 * Makefile.am: Install gdesktopappinfo.h as unix-specific header.
1194 * gdesktopappinfo.[hc]: Remove _-prefixes
1196 2007-12-10 Tor Lillqvist <tml@novell.com>
1198 * glocalfile.c: Add some more G_OS_WIN32 conditionals to silence
1201 2007-12-10 Alexander Larsson <alexl@redhat.com>
1203 * gfile.c (g_file_set_display_name):
1204 Don't hardcode '/' (#502727)
1206 2007-12-09 Hans Breuer <hans@breuer.org>
1208 * makefile.msc : follow lib naming convention
1209 * glocalfileinfo.c(win32_get_file_user_info) : working implementation
1210 for user and group name, tested with ../tests/gio-ls
1212 2007-12-09 A. Walton <awalton@svn.gnome.org>
1214 * gdesktopappinfo.c:
1220 * gfileenumerator.c:
1225 * gmemoryinputstream.c:
1226 * gmemoryoutputstream.c:
1228 * gsimpleasyncresult.c:
1229 More documentation cleanup and filling in missing information, bringing
1230 GIO to 99% symbol coverage.
1232 2007-12-08 Hans Breuer <hans@breuer.org>
1234 [gio compiles and links on win32, not sure how much already works]
1235 * glocaldirectorymonitor.c : ifdefed out inotify emulation for win32
1236 * glocalfile.c : use HAVE_UNISTD_H; implement file system size info
1237 base on win32 API; prefer g_lstat() over lstat(); instead of
1238 localtime_r() use an all GLib implementation on win32;
1239 get_mount_info() still needs a win32 specifc implementation
1240 * glocalfileinfo.c : use HAVE_*_H; start of implementation of
1241 win32_get_file_user_info to get owner/group info without uid/gid
1242 * glocalfileinputstream.c : include <io.h> on win32
1243 * glocalfileoutputstream.c : include <io.h> on win32 and some S_IS*
1244 definition, use g_win32_ftruncate() for G_OS_WIN32
1245 * gwin32appinfo.c : optionalize a bunch on #ifdef AssocQueryString
1246 it is available with mingw/w32api but a mess with the M$ Platform SDKs
1247 see: http://mail.gnome.org/archives/gtk-devel-list/2007-December/msg00014.html
1248 * makefile.msc : updated
1250 2007-12-07 Alexander Larsson <alexl@redhat.com>
1252 * glocalfileenumerator.c (_g_local_file_enumerator_new):
1253 Avoid warning spew if error == NULL
1255 2007-12-07 Alexander Larsson <alexl@redhat.com>
1258 Update docs wrt etags
1260 2007-12-06 Alexander Larsson <alexl@redhat.com>
1263 Include sys/types.h for dev_t (#501919)
1265 2007-12-06 Behdad Esfahbod <behdad@gnome.org>
1269 Make abicheck and pltcheck pass.
1271 2007-12-05 Alexander Larsson <alexl@redhat.com>
1274 * giomodule-priv.h: Added.
1275 * glocaldirectorymonitor.c:
1276 * glocalfilemonitor.c:
1277 * gunionvolumemonitor.c:
1279 Actually add the declaration of _g_io_modules_ensure_loaded
1281 2007-12-05 Alexander Larsson <alexl@redhat.com>
1283 * gdatainputstream.c:
1288 * glocaldirectorymonitor.c:
1289 * glocalfilemonitor.c:
1290 * gunionvolumemonitor.c:
1292 Make g_io_modules_ensure_loaded a private function and
1293 don't pass in the dirname. This means we can do magic
1294 directory finding in the win32 version.
1295 Export the actual load-modules-in-directory code so that
1296 gvfs can reuse that.
1298 2007-12-05 Alexander Larsson <alexl@redhat.com>
1300 * gbufferedinputstream.c:
1301 * gbufferedoutputstream.c:
1304 * gfileenumerator.[ch]:
1305 * gfileinputstream.c:
1306 * gfileoutputstream.[ch]:
1307 * gfilterinputstream.c:
1308 * gfilteroutputstream.c:
1309 * ginputstream.[ch]:
1311 * glocalfileenumerator.c:
1312 * glocalfileinputstream.c:
1313 * glocalfileoutputstream.c:
1314 * gmemoryinputstream.c:
1315 * gmemoryoutputstream.c:
1316 * goutputstream.[ch]:
1319 * gunixinputstream.c:
1320 * gunixoutputstream.c:
1321 Rename all struct members named:
1322 read, write, close, truncate, or mount
1323 to foo_fn, as these are reserved names
1324 and could be defined as macros in libc.
1327 2007-12-04 Alexander Larsson <alexl@redhat.com>
1330 (g_output_stream_close):
1331 Only call flush if non-null.
1333 2007-11-30 Dan Winship <danw@gnome.org>
1335 * ginputstream.c (g_input_stream_set_pending): Make this take a
1336 GError and return a gboolean, and do the "outstanding operation"
1337 check (and the "stream is already closed" check) itself.
1338 (g_input_stream_clear_pending): Formerly set_pending(FALSE).
1340 * goutputstream.c (g_output_stream_set_pending)
1341 (g_output_stream_clear_pending): Likewise
1343 * gbufferedinputstream.c:
1344 * gfileinputstream.c:
1345 * gfileoutputstream.c: Update for that
1347 * gsimpleasyncresult.c (g_simple_async_report_gerror_in_idle):
1348 Like g_simple_async_report_error_in_idle, but takes a GError
1349 rather than building one.
1351 2007-11-30 Dan Winship <danw@gnome.org>
1353 * goutputstream.c: Don't cheat and unset the "pending" flag around
1354 inner calls. Instead, call the class method directly rather than
1355 the wrapper function that checks "pending"
1357 2007-12-03 Behdad Esfahbod <behdad@gnome.org>
1359 * glib/gnulib/Makefile.am: Fix EXTRA_DIST automake warnings. (#501107)
1361 2007-12-03 Hans Breuer <hans@breuer.org>
1363 [start of port to win32/msvc]
1364 * gcancellable.c : HAVE_UNIST_H and _pipe()
1365 * gcontenttype.c : only include <dirent.h> in the UNIX branch
1366 * gdatainputstream.c : pointer arithmetic on void* is a gcc extension
1367 * gdummyfile.c glocalfileinputstream.c gsimpleasyncresult.c : use
1369 * glocalfileoutputstream.c : use HAVE_UNIST_H and s/ssize_t/gssize/
1370 * glocalvfs.c : use HAVE_PWD_H
1371 * gio.symbols : ifdef unix specific functions with G_OS_UNIX
1372 * makefile.msc : new file (maybe later converted to makefile.msc.in)
1373 * Makefile.am : added to EXTRA_DIST
1375 2007-12-03 Matthias Clasen <mclasen@redhat.com>
1377 * gfile.c (g_file_copy): Add a cross-reference to g_file_dup().
1380 2007-12-03 Alexander Larsson <alexl@redhat.com>
1383 Handle OSX style xattrs API (#500506)
1385 2007-12-03 Alexander Larsson <alexl@redhat.com>
1389 Add G_FILE_COPY_NO_FALLBACK_FOR_MOVE flag
1391 2007-12-02 A. Walton <awalton@svn.gnome.org>
1395 Documentation accuracy fixes.
1397 2007-12-01 Behdad Esfahbod <behdad@gnome.org>
1399 * gioenumtypes.c.template: Fix typo.
1401 2007-12-01 Matthias Clasen <mclasen@redhat.com>
1403 * gioenumtypes.c.template: Make threadsafe get_type() functions.
1405 2007-12-01 Matthias Clasen <mclasen@redhat.com>
1407 * gdirectorymonitor.c:
1408 * gfilemonitor.c: Add properties
1410 * gbufferedoutputstream.c: Don't mark buffer-size property
1413 2007-12-01 Matthias Clasen <mclasen@redhat.com>
1415 * gbufferedoutputstream.c: Add auto-grow property.
1417 2007-11-30 Matthias Clasen <mclasen@redhat.com>
1419 * *.c: Unify the capitalization of section headings.
1421 2007-11-30 Matthias Clasen <mclasen@redhat.com>
1423 * gmountoperation.c: Add properties
1425 * gdatainputstream.c: Turn byte-order and newline-type into
1428 2007-11-30 Matthias Clasen <mclasen@redhat.com>
1430 * gioenumtypes.[hc].template: Templates for enum registration
1432 * Makefile.am: Generate gioenumtypes.[hc]
1434 * gio.h: Include gioenumtypes.h
1436 * gfile.h: Add some explicit nicks.
1438 * gio.symbols: Add new symbols
1440 * pltcheck.sh: Adjust
1442 2007-11-30 Matthias Clasen <mclasen@redhat.com>
1444 * *.c: Explain etags and link to the explanation
1446 2007-11-29 Matthias Clasen <mclasen@redhat.com>
1448 * *.c: Explain I/O priority.
1450 * *.c: More coding style fixes.
1452 2007-11-29 Matthias Clasen <mclasen@redhat.com>
1454 * gasyncresult.c: Add another paragraph to the intro,
1455 adjust coding style of example.
1457 2007-11-29 A. Walton <awalton@svn.gnome.org>
1460 Fixes unknown meaning in GAppLaunchContext docs.
1462 Clarify asynchronous ops.
1464 Fix entity tag docs.
1467 Provides missing gtk-doc section, fixes API docs slighly.
1468 * gsimpleasyncresult.c:
1469 Fill in missing info in docs.
1470 * gunixinputstream.c:
1471 * gunixoutputstream.c:
1472 Be more expressive in short description.
1474 Remove gtk-doc stubs for non-public API.
1476 2007-11-28 Matthias Clasen <mclasen@redhat.com>
1478 * *.c: Coding style fixups
1480 2007-11-28 Matthias Clasen <mclasen@redhat.com>
1482 * inotify/inotify-helper.c: Don't export the lock from libgio.
1484 2007-11-28 Matthias Clasen <mclasen@redhat.com>
1487 * abicheck.sh: Fix copy-and-paste leftovers
1489 2007-11-28 Matthias Clasen <mclasen@redhat.com>
1491 * gfile.h: Add G_FILE_COPY_FLAGS_NONE for consistency.
1493 2007-11-28 Alexander Larsson <alexl@redhat.com>
1497 Removed unnecessary file
1499 * gdesktopappinfo.[ch]:
1502 * glocaldirectorymonitor.[ch]:
1504 * glocalfileenumerator.[ch]:
1505 * glocalfileinputstream.[ch]:
1506 * glocalfilemonitor.[ch]:
1507 * glocalfileoutputstream.[ch]:
1509 * gnativevolumemonitor.c:
1510 * gpollfilemonitor.[ch]:
1511 * gunionvolumemonitor.[ch]:
1514 * gunixvolumemonitor.[ch]:
1517 * inotify/ginotifydirectorymonitor.[ch]:
1518 * inotify/ginotifyfilemonitor.[ch]:
1519 * inotify/inotify-helper.c:
1520 Append _ to all internal functions
1524 Export symbols needed for modules
1526 2007-11-28 Alexander Larsson <alexl@redhat.com>
1529 * abicheck.sh: Added.
1530 * makegioalias.pl: Added.
1531 * pltcheck.sh: Added.
1532 * gio.symbols: Added.
1535 Initial work on adding symbol handling.
1538 Correct ifdef guard name
1541 * inotify/Makefile.am:
1542 * xdgmime/Makefile.am:
1543 Include toplevel Makefile.decl
1545 2007-11-27 Matthias Clasen <mclasen@redhat.com>
1547 * gcontenttype.c: Move doc comments to the unix section.
1549 * *.[hc]: More trivial doc corrections.
1551 2007-11-27 Matthias Clasen <mclasen@redhat.com>
1553 * gpollfilemonitor.c:
1557 * gdesktopappinfo.c:
1562 * gdatainputstream.c:
1563 * gdatainputstream.h:
1564 * gdataoutputstream.c:
1565 * gdataoutputstream.h:
1566 * gfileinfo.h: Doc cleanups
1568 2007-11-28 Andre Klapper <a9016009@gmx.de>
1570 * gdesktopappinfo.c: Fix a typo.
1572 2007-11-27 Andre Klapper <a9016009@gmx.de>
1574 * glocalfileoutputstream.c: Fix a typo.
1576 2007-11-27 Alexander Larsson <alexl@redhat.com>
1579 Don't include removed headers
1581 2007-11-27 Alexander Larsson <alexl@redhat.com>
1584 * gsocketinputstream.[ch]: Removed.
1585 * gsocketoutputstream.[ch]: Removed.
1586 * gunixinputstream.[ch]: Added.
1587 * gunixoutputstream.[ch]: Added.
1588 Renamed GSocket*Stream to GUnix*Stream and made
1589 it unix-only, since its not really only for sockets
1590 and it only works on unix (but is highly useful there).
1592 2007-11-27 Andrew Walton <awalton@svn.gnome.org>
1598 * gbufferedinputstream.c:
1599 * gbufferedinputstream.h:
1600 * gbufferedoutputstream.c:
1601 * gbufferedoutputstream.h:
1605 * gdatainputstream.c:
1606 * gdatainputstream.h:
1607 * gdataoutputstream.c:
1608 * gdataoutputstream.h:
1609 * gdirectorymonitor.c:
1610 * gdirectorymonitor.h:
1617 * gfileenumerator.c:
1618 * gfileenumerator.h:
1623 * gfileinputstream.c:
1624 * gfileinputstream.h:
1627 * gfilenamecompleter.c:
1628 * gfilenamecompleter.h:
1629 * gfileoutputstream.c:
1630 * gfileoutputstream.h:
1631 * gfilterinputstream.c:
1632 * gfilterinputstream.h:
1633 * gfilteroutputstream.c:
1634 * gfilteroutputstream.h:
1647 * glocalfileoutputstream.c:
1648 * gmemoryinputstream.c:
1649 * gmemoryinputstream.h:
1650 * gmemoryoutputstream.c:
1651 * gmemoryoutputstream.h:
1652 * gmountoperation.c:
1653 * gmountoperation.h:
1656 * gpollfilemonitor.c:
1659 * gsimpleasyncresult.c:
1660 * gsimpleasyncresult.h:
1661 * gsocketinputstream.c:
1662 * gsocketinputstream.h:
1663 * gsocketoutputstream.c:
1664 * gsocketoutputstream.h:
1671 * gunixvolumemonitor.c:
1680 Bumps documentation to 93% symbol coverage, touching most
1681 of the public files. Fixes broken function documentation prototypes.
1682 Fixes GCancellable inaccuracies. Removes unnecessary incomplete
1683 gtk-doc headers in private files.
1685 2007-11-27 JĂ¼rg Billeter <j@bitron.ch>
1687 * gbufferedinputstream.c: (g_buffered_input_stream_peek_buffer),
1688 (g_buffered_input_stream_read_byte):
1689 * gbufferedinputstream.h:
1690 New functions for efficient access to buffer and simple single byte
1693 * gdatainputstream.c: (scan_for_newline), (scan_for_chars),
1694 (g_data_input_stream_read_until):
1695 * gdatainputstream.h:
1696 Use peek_buffer to avoid memcpy in scan_for_newline, implement
1697 read_until with multiple stop chars.
1699 2007-11-27 Alexander Larsson <alexl@redhat.com>
1703 * inotify/Makefile.am:
1704 Use the user-specified giomoduledir
1706 2007-11-27 Alexander Larsson <alexl@redhat.com>
1710 Add catch-all gio.h header
1711 Don't install gdummyfile.h
1713 2007-11-26 Alexander Larsson <alexl@redhat.com>
1715 * Makefile.am (gioinclude_HEADERS):
1716 Remove trailing whitespace
1718 2007-11-26 Alexander Larsson <alexl@redhat.com>
1720 Merge gio-standalone into glib
1722 2007-11-25 Christian Kellner <gicmo@gnome.org>
1724 * gio/goutputstream.c:
1725 Fix small mistake in the docs.
1727 2007-11-21 Christian Persch <chpe@gnome.org>
1729 * gio/glocalfile.c: (g_local_file_trash):
1730 Convert filenames to UTF-8 for GError.
1731 Use g_mkdir_with_parent to create the Trash dir, and use mode 0700
1732 as per xdg base dir spec.
1734 2007-11-21 Christian Persch <chpe@gnome.org>
1736 * gio/gdesktopappinfo.c:
1737 Use that g_key_file_to_data cannot fail.
1739 Use stock defines for the key file group and key names.
1742 2007-11-21 Alexander Larsson <alexl@redhat.com>
1745 (copy_stream_with_progress):
1746 Make sure we do a final progress callback with
1747 the full total size.
1749 2007-11-21 Alexander Larsson <alexl@redhat.com>
1752 Export g_file_copy_attributes
1753 Remove padding as its not needed for interfaces
1755 2007-11-20 Alexander Larsson <alexl@redhat.com>
1760 Add G_IO_ERROR_WOULD_MERGE for
1761 copy/move dir on dir with overwrite.
1763 2007-11-20 Alexander Larsson <alexl@redhat.com>
1766 * gio/glocalfileinfo.c:
1767 Add COPY_NAME (this is an optional
1768 non-modified utf8 version of the name) that
1771 2007-11-20 Alexander Larsson <alexl@redhat.com>
1773 * gio/glocalfileenumerator.c:
1774 Report errors as GIOError, not GFileError
1776 2007-11-16 Alexander Larsson <alexl@redhat.com>
1778 * gio/glocalfileoutputstream.c:
1779 * gio/gwin32appinfo.c:
1780 Fix typos in strings.
1781 Patch from Luca Ferretti <elle.uca@libero.it>
1783 2007-11-15 Alexander Larsson <alexl@redhat.com>
1786 Post release version bump
1788 === gio-standalone 0.1.2 ===
1790 2007-11-15 Alexander Larsson <alexl@redhat.com>
1792 * docs/reference/gio/Makefile.am:
1793 Fix up distcheck by removing weird
1799 2007-11-14 Alexander Larsson <alexl@redhat.com>
1801 * gio/gdesktopappinfo.c:
1802 * gio/glocaldirectorymonitor.c:
1804 * gio/glocalfileinfo.c:
1805 * gio/inotify/inotify-sub.c:
1806 * programs/gio-cat.c:
1807 * programs/gio-copy.c:
1808 * programs/gio-info.c:
1809 * programs/gio-ls.c:
1810 * programs/gio-monitor-dir.c:
1811 * programs/gio-monitor-file.c:
1812 * programs/gio-mount.c:
1813 * programs/gio-move.c:
1814 * programs/gio-rm.c:
1815 * programs/gio-save.c:
1816 * programs/gio-trash.c:
1817 Leak fixes from Kjartan Maraas
1819 2007-11-14 Alexander Larsson <alexl@redhat.com>
1821 * gio/fam/fam-helper.c:
1823 * gio/glocalfileinfo.c:
1827 * gio/inotify/inotify-diag.c:
1828 * gio/inotify/inotify-kernel.c:
1829 Various code cleanups from Kjartan Maraas
1831 2007-11-14 Alexander Larsson <alexl@redhat.com>
1833 * gio/gioscheduler.c:
1835 Set up threadpool so that we cache 2 unused
1836 idle threads for at 15 secs. This means we
1837 will reuse thread-local data (like dbus connections)
1840 2007-11-14 Alexander Larsson <alexl@redhat.com>
1842 * gio/fam/fam-helper.c:
1843 * gio/fam/gfamdirectorymonitor.c:
1844 * gio/fam/gfamfilemonitor.c:
1846 * gio/gcontenttype.c:
1847 * gio/gdatainputstream.c:
1848 * gio/gdataoutputstream.c:
1852 * gio/gfileattribute.h:
1853 * gio/gfileenumerator.c:
1855 * gio/ginputstream.c:
1858 * gio/glocalfileinfo.c:
1859 * gio/goutputstream.c:
1860 * gio/gpollfilemonitor.c:
1861 * gio/gsimpleasyncresult.c:
1862 * gio/gunixmounts.c:
1863 * gio/gunixmounts.h:
1864 * gio/inotify/ginotifydirectorymonitor.c:
1865 * gio/inotify/ginotifyfilemonitor.c:
1866 * gio/inotify/inotify-diag.c:
1867 * gio/inotify/inotify-kernel.c:
1868 * gio/inotify/inotify-path.c:
1870 * gio/test-streams.c:
1871 * programs/gio-info.c:
1872 * programs/gio-monitor-dir.c:
1873 * programs/gio-monitor-file.c:
1874 Various code cleanups from Kjartan Maraas
1876 2007-11-13 Alexander Larsson <alexl@redhat.com>
1879 Handle the uri-scheme calls for dummy files
1881 2007-11-13 Marko Anastasov <marko@marko.anastasov.name>
1883 * gio/gio/gfileinfo.[ch]: Use a different parameter name instead of
1884 'namespace' for in g_file_attribute_matcher_enumerate_namespace()
1885 to avoid clash with the C++ keyword.
1887 2007-11-13 Marko Anastasov <marko@marko.anastasov.name>
1889 * gio/glocalfileinfo.c: Build fix, added missing semicolon
1890 to an ifdef'ed call to getpwuid() in lookup_uid_data().
1892 2007-11-11 Sebastian Dröge <slomo@circular-chaos.org>
1894 * gio/glocaldirectorymonitor.c:
1895 * gio/glocalfilemonitor.c:
1896 * gio/gunionvolumemonitor.c:
1897 Don't use g_once_init_*() for initializations that could fail and
1898 could leave the initialization variable set to 0 but use GOnce.
1899 This prevents a deadlock on the second call when trying to create
1900 a monitor and no monitor type is available. Thanks to Sven Herzberg
1903 2007-11-11 Sven Herzberg <sven@imendio.com>
1905 * gio/glocalfile.c: guard the #include <sys/statfs.h> by the correct
1906 #ifdef (make it work on MacOS X again)
1908 2007-11-09 Andrew Walton <awalton@svn.gnome.org>
1910 Fixes Changelog for last two commits (sorry guys).
1912 2007-11-07 Andrew Walton <awalton@svn.gnome.org>
1914 * gio/gbufferedinputstream.c:
1915 * gio/gdatainputstream.c:
1917 * gio/gfileoutputstream.c:
1918 * gio/gfilterinputstream.c:
1919 * gio/glocalfileinputstream.c:
1922 More consistency fixes in g*stream.c files.
1923 Significant clean of gfile's documentation, filling in of
1924 asynchronous operations documentation.
1926 2007-11-07 Andrew Walton <awalton@svn.gnome.org>
1928 * gio/gasyncresult.c:
1929 * gio/gbufferedinputstream.c:
1930 * gio/gbufferedoutputstream.c:
1931 * gio/gcancellable.c:
1932 * gio/gcontenttype.c:
1933 * gio/gdatainputstream.c:
1934 * gio/gdataoutputstream.c:
1935 * gio/gdesktopappinfo.c:
1938 * gio/gfileattribute.c:
1939 * gio/gio/gfileenumerator.c:
1941 * gio/gfileinputstream.c:
1942 * gio/gfilemonitor.c:
1943 * gio/gfileoutputstream.c:
1944 * gio/ginputstream.c:
1946 * gio/gioscheduler.c:
1947 * gio/gloadableicon.c:
1948 * gio/glocalfileoutputstream.c:
1949 * gio/gmemoryoutputstream.c:
1950 * gio/gmountoperation.c:
1951 * gio/goutputstream.c:
1953 * gio/gsimpleasyncresult.c:
1954 * gio/gunionvolumemonitor.c:
1955 * gio/gunixmounts.c:
1956 * gio/gunixvolume.c:
1960 * gio/gvolumemonitor.c:
1961 Updated documentation stubs, working towards consistency and
1964 2007-11-07 Sebastian Dröge <slomo@circular-chaos.org>
1966 * gio/gmemoryoutputstream.c:
1967 * gio/gmemoryoutputstream.h:
1968 Change g_memory_output_stream_set_free_on_close() to
1969 g_memory_output_stream_set_free_data() as this makes more sense and
1970 is more consistent with GMemoryInputStream.
1972 2007-11-07 Alexander Larsson <alexl@redhat.com>
1979 Change how we find the default vfs so that
1980 we can handle a gvfs failing to init
1982 2007-11-07 Sebastian Dröge <slomo@circular-chaos.org>
1984 * gio/gbufferedoutputstream.c:
1985 * gio/gdatainputstream.c:
1986 * gio/gdataoutputstream.c:
1987 * gio/gfileinputstream.c:
1988 * gio/gfileoutputstream.c:
1989 * gio/gfilterinputstream.c:
1990 * gio/gfilteroutputstream.c:
1991 * gio/ginputstream.c:
1992 * gio/gmemoryinputstream.c:
1993 * gio/gmemoryoutputstream.c:
1994 * gio/goutputstream.c:
1995 * gio/gsimpleasyncresult.c:
1996 * gio/gsocketinputstream.c:
1997 * gio/gsocketoutputstream.c:
1998 Add guards to the remaining public functions, add a TODO for
1999 an unimplemented function and remove some useless guards.
2001 2007-11-07 Alexander Larsson <alexl@redhat.com>
2004 Autoconf checks for the various types of
2005 getpwuid_r and getgrgid_r
2007 * gio/glocalfileinfo.c:
2008 Use the autoconf checks from above
2010 2007-11-07 Alexander Larsson <alexl@redhat.com>
2013 (g_local_file_query_filesystem_info):
2014 Some fixes for the statvfs case
2016 2007-11-07 Alexander Larsson <alexl@redhat.com>
2019 (g_local_file_query_filesystem_info):
2020 Pick the "best" of statfs / statvfs for the system
2021 if both are availible.
2023 2007-11-07 Alexander Larsson <alexl@redhat.com>
2025 Solaris fixes from Halton.Huo@Sun.COM:
2032 * gio/glocalfileinfo.c:
2033 Fix for solaris definition of getpwuid_r
2035 * gio/test-streams.c:
2036 Use G_GNUC_PRETTY_FUNCTION
2038 2007-11-07 Alexander Larsson <alexl@redhat.com>
2040 * gio/gdesktopappinfo.c:
2041 (update_default_list):
2042 Remove double semicolon.
2043 Patch from Jens Granseuer
2045 2007-11-06 Sebastian Dröge <slomo@circular-chaos.org>
2047 * docs/reference/gio/gio-sections.txt:
2048 * gio/gbufferedinputstream.c:
2049 * gio/gbufferedinputstream.h:
2050 * gio/gdatainputstream.c:
2051 * gio/gfileenumerator.c:
2052 * gio/gioscheduler.c:
2053 * gio/gunionvolumemonitor.c:
2055 * programs/gio-save.c:
2056 Fix typo: availible -> available. Unfortuntely this breaks API
2057 and ABI as g_buffered_input_stream_get_available() was renamed.
2059 * gio/gunixmounts.c:
2060 * gio/gbufferedinputstream.c:
2061 Add guards for public functions.
2063 2007-11-06 Ross Burton <ross@openedhand.com>
2065 * docs/reference/gio/Makefile.am:
2066 Fix invalid += usage which automake 1.10 doesn't like.
2068 2007-11-06 Alexander Larsson <alexl@redhat.com>
2071 (g_app_launch_context_class_init):
2074 Patch from Ross Burton
2076 2007-11-06 Alexander Larsson <alexl@redhat.com>
2079 Post release version bump
2081 === gio-standalone 0.1.1 ===
2083 2007-11-06 Alexander Larsson <alexl@redhat.com>
2086 Bump version to 0.1.1
2088 * gio/gsimpleasyncresult.c:
2089 (g_simple_async_result_set_from_error):
2090 Remove bogus g_return_if_fail
2092 2007-11-06 Alexander Larsson <alexl@redhat.com>
2095 The name is gio-standalone
2098 Add top src/builddir to includedir
2100 2007-11-06 Alexander Larsson <alexl@redhat.com>
2102 * docs/reference/gio/gio-sections.txt:
2104 * gio/gbufferedinputstream.c:
2105 * gio/gbufferedoutputstream.c:
2106 * gio/gcancellable.c:
2107 * gio/gdatainputstream.h:
2108 * gio/gdataoutputstream.c:
2109 * gio/gdataoutputstream.h:
2110 * gio/gdirectorymonitor.c:
2112 * gio/gfileattribute.c:
2113 * gio/gfileattribute.h:
2114 * gio/gfileenumerator.c:
2115 * gio/gfileenumerator.h:
2118 * gio/gfileinputstream.h:
2119 * gio/gfilemonitor.c:
2120 * gio/gfileoutputstream.h:
2121 * gio/glocalfilemonitor.h:
2122 * gio/glocalfileoutputstream.h:
2123 * gio/gmemoryinputstream.c:
2124 * gio/gmemoryoutputstream.c:
2125 * gio/gmountoperation.c:
2126 * gio/goutputstream.c:
2127 * gio/goutputstream.h:
2129 * gio/gsimpleasyncresult.c:
2130 * gio/gunixmounts.c:
2131 * gio/gunixmounts.h:
2133 * gio/inotify/inotify-helper.c:
2134 Fix gtk-doc warnings
2136 Patch from Ross Burton
2138 2007-11-06 Alexander Larsson <alexl@redhat.com>
2140 * gio/gfilenamecompleter.c:
2141 (g_filename_completer_get_completions):
2144 * gio/gunixvolume.c:
2145 Remove unused function
2147 Patches from Ross Burton
2149 2007-11-06 Alexander Larsson <alexl@redhat.com>
2154 Padding not needed for interfaces
2156 2007-11-06 Alexander Larsson <alexl@redhat.com>
2158 * gio/gfilemonitor.c:
2162 Make giotypes.h an internal file
2165 * gio/gbufferedinputstream.h:
2166 * gio/gbufferedoutputstream.h:
2167 * gio/gcancellable.h:
2168 * gio/gdatainputstream.h:
2169 * gio/gdataoutputstream.h:
2170 * gio/gdirectorymonitor.c:
2171 * gio/gdirectorymonitor.h:
2176 * gio/gfileattribute.h:
2177 * gio/gfileenumerator.h:
2182 * gio/gfilemonitor.c:
2183 * gio/gfilemonitor.h:
2184 * gio/gfilenamecompleter.c:
2185 * gio/gfilenamecompleter.h:
2186 * gio/gfilterinputstream.h:
2187 * gio/gfilteroutputstream.h:
2188 * gio/ginputstream.h:
2189 * gio/gmemoryinputstream.h:
2190 * gio/gmemoryoutputstream.h:
2191 * gio/gmountoperation.c:
2192 * gio/gmountoperation.h:
2193 * gio/gnativevolumemonitor.c:
2194 * gio/goutputstream.h:
2197 * gio/gsimpleasyncresult.c:
2198 * gio/gsimpleasyncresult.h:
2199 * gio/gsocketinputstream.h:
2200 * gio/gsocketoutputstream.h:
2201 * gio/gthemedicon.c:
2202 * gio/gthemedicon.h:
2206 * gio/gvolumemonitor.c:
2207 * gio/gvolumemonitor.h:
2208 Add padding in classes where it seems useful
2209 Don't include giotypes.h from public headers
2210 Move in Class definitions into c file where possible
2215 2007-11-06 Alexander Larsson <alexl@redhat.com>
2217 * docs/reference/gio/gio-docs.xml:
2218 Better structure for API docs
2220 2007-11-06 Sebastian Dröge <slomo@circular-chaos.org>
2223 * gio/gloadableicon.c:
2224 * gio/gsimpleasyncresult.c:
2225 * gio/gthemedicon.c:
2226 Add some more guards to public functions. Only files missing are now
2229 2007-11-06 Alexander Larsson <alexl@redhat.com>
2231 * docs/reference/gio/gio-docs.xml:
2232 Remove old files, add missing ones
2234 2007-11-06 Alexander Larsson <alexl@redhat.com>
2236 * docs/reference/gio/gio-sections.txt:
2239 Hide implementation classes
2241 * gio/gdriveprivate.h:
2242 * gio/gvolumeprivate.h:
2243 Remove non-existing function declarations
2245 2007-11-06 Sebastian Dröge <slomo@circular-chaos.org>
2248 Fix compilation warnings and add guards to the new functions.
2250 * gio/gasyncresult.c:
2252 Add guards to the public functions.
2255 Implement get_path().
2257 2007-11-06 Alexander Larsson <alexl@redhat.com>
2259 * gio/gfilenamecompleter.c:
2260 Make g_filename_completer_get_completions
2261 return char ** instead of GList for
2264 * docs/reference/gio/gio-docs.xml:
2265 * docs/reference/gio/gio-sections.txt:
2267 * gio/gasyncresult.c:
2268 * gio/gbufferedinputstream.c:
2269 * gio/gbufferedoutputstream.c:
2270 * gio/gcancellable.c:
2271 * gio/gcontenttype.c:
2272 * gio/gdatainputstream.c:
2273 * gio/gdataoutputstream.c:
2274 * gio/gdesktopappinfo.c:
2275 * gio/gdirectorymonitor.c:
2279 * gio/gfileattribute.c:
2280 * gio/gfileenumerator.c:
2283 * gio/gfileinputstream.c:
2284 * gio/gfilemonitor.c:
2285 * gio/gfilenamecompleter.c:
2286 * gio/gfilenamecompleter.h:
2287 * gio/gfileoutputstream.c:
2288 * gio/gfilterinputstream.c:
2290 * gio/ginputstream.c:
2292 * gio/gioscheduler.c:
2293 * gio/gloadableicon.c:
2294 * gio/glocaldirectorymonitor.c:
2296 * gio/glocalfileinputstream.c:
2297 * gio/glocalfilemonitor.c:
2298 * gio/glocalfileoutputstream.c:
2300 * gio/gmemoryinputstream.c:
2301 * gio/gmemoryoutputstream.c:
2302 * gio/gmountoperation.c:
2303 * gio/goutputstream.c:
2304 * gio/gpollfilemonitor.c:
2306 * gio/gsimpleasyncresult.c:
2307 * gio/gsocketinputstream.c:
2308 * gio/gsocketoutputstream.c:
2309 * gio/gthemedicon.c:
2310 * gio/gunionvolumemonitor.c:
2312 * gio/gunixmounts.c:
2313 * gio/gunixvolume.c:
2314 * gio/gunixvolumemonitor.c:
2318 * gio/gvolumemonitor.c:
2319 * gio/gwin32appinfo.c:
2320 Add (mostly stub) doc strings to public functions.
2321 Patch from Andrew Walton (awalton@gmail.com)
2323 2007-11-06 Alexander Larsson <alexl@redhat.com>
2325 * gio/gappinfo.[ch]:
2326 Added GAppLaunchContext object and pass that to launch.
2327 This allows simple implementation of both
2328 launch-on-screen and startup notification via a gtk+
2329 subclass of GAppLaunchContext
2331 * gio/gdesktopappinfo.c:
2332 Implement GAppLaunchContext API
2334 * gio/gwin32appinfo.c:
2337 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2339 * gio/gmountoperation.c:
2340 Add some guards to GMountOperation's public functions.
2342 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2346 * gio/gcancellable.c:
2347 * gio/gdirectorymonitor.c:
2349 * gio/gfileenumerator.c:
2350 * gio/gfilemonitor.c:,
2351 * gio/gfilenamecompleter.c:
2354 * gio/gioscheduler.c:
2358 * gio/gvolumemonitor.c:
2359 Add even more guards to various public functions.
2361 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2364 Add guards to the public functions of GAppInfo.
2366 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2368 * gio/gcontenttype.c:
2369 Add some more guards for public functions.
2371 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2373 * gio/fam/fam-module.c:
2374 * gio/fam/gfamdirectorymonitor.c:
2375 * gio/fam/gfamdirectorymonitor.h:
2376 * gio/fam/gfamfilemonitor.c:
2377 * gio/fam/gfamfilemonitor.h:
2378 * gio/inotify/ginotifydirectorymonitor.c:
2379 * gio/inotify/ginotifydirectorymonitor.h:
2380 * gio/inotify/ginotifyfilemonitor.c:
2381 * gio/inotify/ginotifyfilemonitor.h:
2382 Add proper copyright information and remove an unused variable
2383 in the GInotifyFileMonitor constructor.
2385 * gio/gcancellable.c:
2386 Add a guard for a public function and an assertion to prevent
2387 an undefined program state.
2389 2007-11-05 Sebastian Dröge <slomo@circular-chaos.org>
2391 * gio/gfileattribute.c:
2392 Don't run into an assertion if the given attribute value is NULL
2393 in g_file_attribute_value_get_*() but instead return a fallback
2394 value that makes sense in most situations. Passing them a attribute
2395 value with the wrong type will still run into an assertion.
2397 2007-11-02 Sebastian Dröge <slomo@circular-chaos.org>
2399 * gio/gfileattribute.c:
2401 Add even more guards to the public functions. Also fix the refcounting
2402 of GFileAttributeInfoList and GFileAttributeMatcher to be atomic and
2403 let g_file_info_list_attributes() filter the attributes by namespace
2404 instead of simply ignoring the namespace parameter.
2406 2007-11-03 Sven Herzberg <sven@imendio.com>
2408 * gio/gdesktopappinfo.c: don't use environ. Use the glib API for that.
2409 (This makes gio work on MacOS X again)
2411 2007-11-02 Sebastian Dröge <slomo@circular-chaos.org>
2414 Build the gio subdirectory before the docs. Otherwise the build will
2417 * gio/gvfs.c: (g_vfs_get_name), (g_vfs_get_priority),
2418 (g_vfs_get_file_for_path), (g_vfs_get_file_for_uri),
2419 (g_vfs_get_supported_uri_schemes), (g_vfs_parse_name):
2420 Add guards to the public functions.
2422 2007-11-02 Sebastian Dröge <slomo@circular-chaos.org>
2424 * gio/gfileattribute.c: (g_file_attribute_value_as_string):
2425 Cast parameter to g_type_name_from_instance() to a GTypeInstance *
2426 to prevent a compiler warning.
2428 * gio/glocalfile.c: (get_mount_info), (find_topdir_for):
2429 Set the G_FILE_ATTRIBUTE_FS_READONLY as boolean, not as string and
2430 return something in the non-void function find_topdir_for().
2432 2007-11-01 Christian Kellner <gicmo@gnome.org>, Ryan Lortie <desrt@desrt.ca>
2439 2007-11-01 Ryan Lortie <desrt@desrt.ca>
2441 * gappinfo.c (g_app_info_launch, g_app_info_launch_uris):
2442 * gappinfo.h (g_app_info_launch, g_app_info_launch_uris):
2443 * gwin32appinfo.c (g_win32_app_info_launch):
2444 * gdesktopappinfo.c (expand_macro, equal_up_to_equals,
2445 envp_for_startup_id, g_desktop_app_info_launch,
2446 g_desktop_app_info_launch_uris):
2448 Give an opaque 'startup_id' string instead of 'envp'.
2449 Support empty file lists for launching new windows.
2450 Fix infinite recursion bug when launching URIs.
2452 2007-11-01 Sebastian Dröge <slomo@circular-chaos.org>
2455 Add guard to the new g_file_get_uri_scheme() function.
2457 2007-11-01 Sebastian Dröge <slomo@circular-chaos.org>
2460 Convert a g_return_val_if_fail() to setting the GError instead as
2461 otherwise applications have to verify the parameter before otherwise
2462 and the parameter might come directly from the user.
2464 2007-11-01 Sebastian Dröge <slomo@circular-chaos.org>
2466 * gio/inotify/ginotify*.[ch]:
2467 Add missing copyright information.
2469 2007-11-01 Sebastian Dröge <slomo@circular-chaos.org>
2472 Add guards in the beginning of public functions to check for valid
2473 parameters and fix a bug in copy_stream_with_progress() that could've
2474 caused writing less bytes than reading.
2475 * gio/glocalfileinfo.c:
2476 Check for a NULL parameter and set the GError accordingly then.
2477 * gio/goutputstream.c:
2478 Fix the same bug as in gfile.c that could've caused writing less bytes
2479 than reading in g_output_stream_real_splice().
2481 2007-11-01 Sebastien Bacher <seb128@ubuntu.com>
2484 Use the correct gvolumeprivate.h naming
2486 2007-11-01 Christian Kellner <gicmo@gnome.org>
2489 Remove leftover "$(daemon_sources)" entry.
2491 2007-11-01 Christian Kellner <gicmo@gnome.org>
2496 Add copyright information to source files.
2498 2007-11-01 Alexander Larsson <alexl@redhat.com>
2502 Add g_file_get_uri_scheme
2504 2007-11-01 Alexander Larsson <alexl@redhat.com>
2507 * gio/gdesktopappinfo.c:
2508 * gio/gwin32appinfo.c:
2509 Add g_app_info_get_default_for_uri_scheme.
2511 2007-11-01 Alexander Larsson <alexl@redhat.com>
2514 Correct filename for gdriveprivate.h
2516 2007-10-31 Alexander Larsson <alexl@redhat.com>
2519 Rename id:value to id:file
2522 * gio/glocalfileinfo.c:
2525 2007-10-31 Alexander Larsson <alexl@redhat.com>
2527 * gio/gunixvolume.c:
2529 Remove g_volume_get_platform_id, as thats not
2530 needed with the simpler union volume monitor
2532 2007-10-31 Alexander Larsson <alexl@redhat.com>
2535 * gio/guniondrive.[ch]: Removed.
2536 * gio/gunionvolume.[ch]: Removed.
2537 Remove GUnionDrive/Volume
2539 * gio/gunionvolumemonitor.c:
2540 Simplify union volume monitor, now we
2541 only have one native volume monitor and
2542 we use the actual volumes/drives from the
2543 child monitors instead of wrapping them
2545 * gio/gnativevolumemonitor.[ch]:
2546 Base class for native volume monitors.
2547 Includes priority and get_volume_for_mountpoint
2550 Add g_file_find_enclosing_volume
2553 Remove volume name fs attribute
2554 Add readonly fs attribute
2557 Implement readonly attribute
2558 remove volume name attribute
2559 Implement find_enclosing volume
2561 * gio/gunixmounts.c:
2562 Add a volume for "/".
2564 * gio/gunixvolume.[ch]:
2565 Set better name for /
2567 * gio/gunixvolumemonitor.[ch]:
2568 Derive from GNativeVolumeMonitor
2569 Implement get_volume_for_mountpoint
2572 GVolume typedef moved to gfile.h
2574 * gio/gvolumeprivate.h:
2575 Add g_volume_get_for_mount_path
2577 2007-10-31 Alexander Larsson <alexl@redhat.com>
2579 * gio/gunixmounts.[ch]:
2580 Add cache info to unix mount listers
2581 Make getmntent use threadsafe
2582 Add is_system_internal attribute for GUnixMount
2584 * gio/gunixvolume.c:
2585 (g_unix_volume_new):
2586 Use is_system_internal instead of own code
2588 * gio/glocaldirectorymonitor.c:
2589 * gio/gunixvolumemonitor.c:
2590 Update to new gunixmounts API
2595 2007-10-30 Alexander Larsson <alexl@redhat.com>
2598 Add volume name fsinfo attribute
2601 Read volume name info
2603 * gio/gunionvolumemonitor.c:
2604 Fix infinite loops when finalizing a union volume monitor
2606 2007-10-30 Alexander Larsson <alexl@redhat.com>
2608 * gio/goutputstream.[ch]:
2609 Add splice() with default implementation
2611 * gio/gsocketoutputstream.c:
2612 (g_socket_output_stream_write):
2613 Return error on cancellation correctly.
2615 2007-10-26 Paolo Borelli <pborelli@katamail.com>
2617 * gio/glocalfile.c (g_local_file_trash):
2618 Do not leak a string.
2620 2007-10-26 Paolo Borelli <pborelli@katamail.com>
2622 * gio/gfile.c (g_file_load_contents):
2623 Unref the stream after closing it.
2625 2007-10-25 Alexander Larsson <alexl@redhat.com>
2627 * gio/gioscheduler.h:
2630 2007-10-25 Alexander Larsson <alexl@redhat.com>
2634 Add g_file_has_uri_scheme and implement for local files
2636 2007-10-25 Paolo Borelli <pborelli@katamail.com>
2638 * gio/gdesktopappinfo.c: do not leak a string.
2640 2007-10-24 Sebastian Dröge <slomo@circular-chaos.org>
2642 * gio/glocaldirectorymonitor.c: (_compare_monitor_class_by_prio),
2643 (g_local_directory_monitor_new):
2644 * gio/glocalfilemonitor.c: (_compare_monitor_class_by_prio),
2645 (g_local_file_monitor_new):
2646 Only look for the monitor type that should be used the first time
2647 and use g_qsort_with_data() instead of our own bubble sort
2650 2007-10-24 Sebastian Dröge <slomo@circular-chaos.org>
2653 * gio/fam/Makefile.am:
2654 * gio/fam/fam-helper.c: (_fam_sub_startup), (_fam_sub_add):
2655 * gio/fam/fam-helper.h:
2656 * gio/fam/fam-module.c: (g_io_module_load), (g_io_module_unload):
2657 * gio/fam/gfamdirectorymonitor.c:
2658 * gio/fam/gfamdirectorymonitor.h:
2659 * gio/fam/gfamfilemonitor.c: (g_fam_file_monitor_finalize),
2660 * gio/fam/gfamfilemonitor.h:
2661 * gio/glocaldirectorymonitor.c:
2662 * gio/glocaldirectorymonitor.h:
2663 * gio/glocalfilemonitor.c: (g_local_file_monitor_init),
2664 * gio/glocalfilemonitor.h:
2665 * gio/inotify/Makefile.am:
2666 * gio/inotify/ginotifydirectorymonitor.c:
2667 * gio/inotify/ginotifydirectorymonitor.h:
2668 * gio/inotify/ginotifyfilemonitor.c:
2669 * gio/inotify/ginotifyfilemonitor.h:
2670 Implement the FAM and Inotify monitors as
2671 GLocal(Directory|File)Monitor subclasses and put the FAM monitors into
2672 their own GIO module. GLocal(Directory|File)Monitor will use the
2673 monitor with the highest rank that is supported on that machine.
2675 2007-10-23 Sebastian Dröge <slomo@circular-chaos.org>
2678 Change GIO module dir to $(libdir)/gio/modules and change
2679 the log domain from GVFS to GIO. Also only export symbols starting
2680 with g_ in the resulting library.
2681 * gio/test-streams.c: (main):
2682 Set log handler for the GIO log domain.
2684 2007-10-22 Alexander Larsson <alexl@redhat.com>
2686 * gio/gfilenamecompleter.[ch]:
2687 Add g_filename_completer_set_dirs_only
2689 2007-10-22 Alexander Larsson <alexl@redhat.com>
2692 * gio/gurifuncs.[ch]:
2693 Add some simple URI helpers
2695 * gio/gfilenamecompleter.[ch]:
2696 Added object for filename (parse name actually) completion
2699 Handle ~ in parse names
2701 2007-10-17 Alexander Larsson <alexl@redhat.com>
2704 * gio/glocalfileinfo.c:
2705 Add and implement id:value attribute
2707 2007-10-17 Alexander Larsson <alexl@redhat.com>
2710 * gio/guniondrive.c:
2712 Add and implement g_drive_has_volumes
2714 2007-10-17 Alexander Larsson <alexl@redhat.com>
2717 * gio/glocalfileinfo.[ch]:
2718 Add unix:is_mountpoint and implement for local files
2720 2007-10-16 Alexander Larsson <alexl@redhat.com>
2722 * gio/gunionvolumemonitor.c:
2723 (g_union_volume_monitor_init):
2724 Fix up the unix type getting so that it works with gcc
2726 2007-10-12 Alexander Larsson <alexl@redhat.com>
2729 * gio/glocalfileinfo.c:
2730 Add thumbnail:failed to file info
2732 2007-10-12 Richard Hult <richard@imendio.com>
2734 * gio/gvfs.c (get_default_vfs): Make the type volatile to avoid
2735 optimizing away the get_type call (happens with some gcc versions,
2736 like the one shipped with OS X 10.4).
2738 2007-10-12 Alexander Larsson <alexl@redhat.com>
2740 * gio/glocalfileinfo.c:
2741 (_g_local_file_info_set_attribute):
2742 Fix build if not HAVE_XATTR
2743 Patch from Milosz Derezynski <internalerror@gmail.com>
2745 2007-10-11 Sven Herzberg <herzi@gnome-de.org>
2747 * gio/gunixmounts.c: small build fix (sorry, Alex, you haven't been
2748 around for review, otherwise I would have asked you before
2751 2007-10-11 Alexander Larsson <alexl@redhat.com>
2754 Add thumbnail:path attribute
2756 * gio/glocalfileinfo.c:
2757 Implement thumbnail:path for local files
2759 2007-10-11 Alexander Larsson <alexl@redhat.com>
2761 * gio/glocalfileinfo.c:
2762 (_g_local_file_info_get):
2763 Avoid duplicate icon names
2765 2007-10-11 Alexander Larsson <alexl@redhat.com>
2767 * gio/gthemedicon.[ch]:
2768 Change g_themed_icon_get_names return type to const
2770 2007-10-10 Alexander Larsson <alexl@redhat.com>
2772 * gio/glocalfileinfo.c:
2773 Don't reference freed memory
2775 2007-10-10 Alexander Larsson <alexl@redhat.com>
2777 * gio/gfileattribute.c:
2780 * gio/glocalfileinfo.c:
2783 2007-10-10 Alexander Larsson <alexl@redhat.com>
2786 Check for NULL icons
2788 * gio/gfileattribute.c:
2789 Don't dup when getting objects (same as for string attributes)
2791 * gio/gicon.c (g_icon_equal):
2792 Safely handle NULLs in equal
2794 2007-10-10 Alexander Larsson <alexl@redhat.com>
2797 Fix c++ compilation issues
2798 Patch from Milosz Derezynski <internalerror@gmail.com>
2800 2007-10-10 Alexander Larsson <alexl@redhat.com>
2802 * programs/gio-monitor-dir.c:
2803 Don't crash if dir monitor not supported.
2805 2007-10-09 Alexander Larsson <alexl@redhat.com>
2808 Add missing G_END_DECLS
2810 2007-10-09 Sebastian Dröge <slomo@circular-chaos.org>
2812 * gio/gfile.c: (g_file_set_display_name),
2813 (g_file_query_settable_attributes),
2814 (g_file_query_writable_namespaces):
2815 Return NULL not FALSE on errors as the return type is a pointer.
2817 2007-10-09 Sebastian Dröge <slomo@circular-chaos.org>
2819 * gio/glocalfile.c: (g_local_file_monitor_file):
2820 Don't call monitor_file on the default interface vtable (which
2821 is NULL) but simply return NULL. The caller, GFile, will create a
2822 polling monitor if NULL is returned.
2824 2007-10-09 Alexander Larsson <alexl@redhat.com>
2828 * gio-unix-2.0.pc.in:
2829 Add gio-unix-2.0.pc if OS_UNIX
2832 Install gunixmounts.h into gio-unix-2.0 if OS_UNIX
2834 2007-10-09 Alexander Larsson <alexl@redhat.com>
2836 * gio/gunixmounts.[ch]:
2837 Make unix mount monitoring API sane.
2838 Now its just a object with mounts_changed
2839 and mountpoints_changed signals.
2841 * gio/glocaldirectorymonitor.c:
2842 * gio/gunixvolumemonitor.c:
2843 Use new mount monitor api
2845 2007-10-09 Alexander Larsson <alexl@redhat.com>
2847 * gio/gunixmounts.[ch]:
2848 Move guess type into one call for mounts and one for mountpoints
2851 * gio/gunixvolume.c:
2854 2007-10-09 Alexander Larsson <alexl@redhat.com>
2856 * gio/gunixmounts.[ch]:
2857 Remove _ prefix in preparation to make this semi-public
2858 Hide implementation of structs
2860 * gio/glocaldirectorymonitor.c:
2862 * gio/gunixvolume.c:
2863 * gio/gunixvolumemonitor.c:
2864 Update for above API changes
2866 2007-10-08 Alexander Larsson <alexl@redhat.com>
2869 Better polling fallback. This also handles the case where we have
2870 a monitor_file implementation, but it fails.
2872 2007-10-08 Alexander Larsson <alexl@redhat.com>
2876 * gio/gunixmounts.c:
2877 * programs/gio-monitor-dir.c:
2878 * programs/gio-monitor-file.c:
2879 Added cancellable to file monitoring calls.
2880 These are really sync calls and need this.
2882 2007-10-08 Sebastian Dröge <slomo@circular-chaos.org>
2884 * gio/glocalvfs.c: (g_local_vfs_get_supported_uri_schemes),
2885 (g_local_vfs_class_init):
2886 * gio/gvfs.c: (g_vfs_get_supported_uri_schemes):
2887 * gio/gvfs.h: Add functions to get a list of supported URI schemes.
2889 2007-10-05 Alexander Larsson <alexl@redhat.com>
2891 * gio/gdirectorymonitorprivate.h:
2892 * gio/gfilemonitorprivate.h:
2893 * gio/gdirectorymonitor.h:
2894 * gio/gfilemonitor.h:
2895 Remove *private.h and move to the public API, so that
2896 we can do implementations outside gio (such as in gvfs)
2898 * gio/gdirectorymonitor.c:
2899 * gio/gfilemonitor.c:
2900 * gio/glocaldirectorymonitor.c:
2901 * gio/gpollfilemonitor.c:
2902 * gio/inotify/inotify-helper.c:
2903 * gio/fam/fam-helper.c:
2904 Update to the new header names
2906 2007-10-05 Sebastian Dröge <slomo@circular-chaos.org>
2908 * gio/gdirectorymonitor.c:
2909 * gio/gfilemonitor.c: Mark the GFileMonitor and GDirectoryMonitor
2912 2007-10-04 Alexander Larsson <alexl@redhat.com>
2914 * gio/glocalfileinfo.c (get_access_rights):
2915 Set CAN_TRASH when we can move the file.
2916 We should really also check for a parent trash dir.
2918 2007-10-04 Alexander Larsson <alexl@redhat.com>
2920 * gio/gfileinfo.h (G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH):
2921 Add can_trash access attribute
2923 2007-10-04 Alexander Larsson <alexl@redhat.com>
2926 (g_local_file_trash):
2927 Create info file first. This is per-spec and allows
2928 us to actually trash directories.
2930 2007-10-02 Alexander Larsson <alexl@redhat.com>
2932 * gio/gdesktopappinfo.c:
2933 Implement the new mime support code.
2934 Always set app as handling mimetype when being set as default for it
2936 2007-10-01 Alexander Larsson <alexl@redhat.com>
2938 * gio/glocalfileinfo.c (_g_local_file_info_set_attribute):
2939 Fix up check for xattrs:
2941 2007-10-01 Alexander Larsson <alexl@redhat.com>
2944 (g_app_info_set_as_default_for_extension):
2945 (g_app_info_add_supports_type):
2946 (g_app_info_can_remove_supports_type):
2947 (g_app_info_remove_supports_type):
2948 Make these fail nicely if not implemented
2950 2007-10-01 Paolo Borelli <pborelli@katamail.com>
2952 * gio/glocalfileoutputstream.c:
2953 * gio/glocalfileoutputstream.h:
2958 * programs/gio-save.c:
2959 Add a GFileCreateFlags argument to operations that can create
2962 2007-10-01 Alexander Larsson <alexl@redhat.com>
2964 * gio/gappinfo.[ch]:
2965 * gio/gdesktopappinfo.c:
2966 Add more (stubbed out) mime API needed for nautilus
2968 2007-10-01 Alexander Larsson <alexl@redhat.com>
2971 Add GAppInfoCreateFlags flag to g_app_info_create_from_commandline.
2972 Add g_app_info_set_as_default_for_extension.
2974 * gio/gdesktopappinfo.c:
2975 Dummy for g_app_info_set_as_default_for_extension
2976 Support flags in g_app_info_create_from_commandline
2978 * gio/gwin32appinfo.c:
2980 Update for API changes
2982 * gio/gthemedicon.c:
2983 Properly NULL-terminate list of icon names
2985 2007-09-28 Alexander Larsson <alexl@redhat.com>
2987 * gio/gloadableicon.h:
2988 Correct G_TYPE_LOADABLE_ICON, it was pointing to the GIcon type...
2990 2007-09-28 Alexander Larsson <alexl@redhat.com>
2993 Install headers in $includedir/gio-standalone/
2995 * gio-2.0.pc.in: Added.
2996 * gio-standalone.pc.in: Removed.
2999 Renamed pkg-config file to match glib (for future move)
3000 Update to the new include dir
3003 Add more TODO comments
3005 2007-09-28 Alexander Larsson <alexl@redhat.com>
3007 * gio/gdesktopappinfo.[ch]:
3008 Expose new_from_filename
3009 Add getter for is_hidden and handle it better
3011 2007-09-28 Alexander Larsson <alexl@redhat.com>
3013 * gio/gfileinfo.[ch]:
3014 Rename g_file_size_format_for_display to
3015 g_format_file_size_for_display.
3016 Now it doesn't have the g_file prefix, so we
3017 can later move it to glib.
3019 2007-09-28 Alexander Larsson <alexl@redhat.com>
3021 * gio/gappinfo.[ch]:
3022 Add g_app_info_get_id and g_app_info_get_executable.
3023 Make all getters non-reffing
3024 Make g_app_info_launch take GFile arguments.
3025 Add must_support_uris argument to g_app_info_get_default_for_type.
3027 * gio/gwin32appinfo.c:
3028 Update to GAppInfo api changes
3030 * gio/gdesktopappinfo.c:
3031 Update to GAppInfo api changes
3032 Implement supports_xdg_startup_notify
3034 * gio/gfileicon.c (g_file_icon_get_file):
3035 Make getter non-reffing.
3040 2007-09-27 Alexander Larsson <alexl@redhat.com>
3042 * gio/gfileinfo.[ch]:
3043 Add g_file_size_format_for_display helper
3045 2007-09-27 Alexander Larsson <alexl@redhat.com>
3047 * gio/glocalfileinfo.c:
3048 Set UNIX_GID from gid, not from uid
3050 2007-09-27 Alexander Larsson <alexl@redhat.com>
3053 Add g_file_set_attributes_async
3055 2007-09-27 Alexander Larsson <alexl@redhat.com>
3057 * gio/glocalfile.c (g_local_file_set_display_name):
3058 Fix set_display_name to actually rename to the right place.
3059 Use lstat to look for existing files so we don't overwrite
3062 2007-09-26 Alexander Larsson <alexl@redhat.com>
3065 Add g_file_set_display_name_async()
3067 2007-09-26 Alexander Larsson <alexl@redhat.com>
3070 Add load_partial_contents async calls
3073 Make internal function static
3075 2007-09-26 Alexander Larsson <alexl@redhat.com>
3077 * gio/glocalfileinfo.c:
3078 Correctly detect broken symlinks
3080 2007-09-26 Alexander Larsson <alexl@redhat.com>
3082 * gio/gcancellable.c (g_cancellable_cancel):
3083 Allow cancel on NULL cancellable
3085 2007-09-25 Alexander Larsson <alexl@redhat.com>
3087 * gio/gsimpleasyncresult.c:
3088 Don't allocate g_error manually.
3089 Fixes g_slice/g_new mixup crash
3091 2007-09-25 Alexander Larsson <alexl@redhat.com>
3093 * gio/glocaldirectorymonitor.c (g_local_directory_monitor_new):
3094 Actually set active_backend.
3095 This means the monitor will be cancelled correctly.
3097 2007-09-25 Alexander Larsson <alexl@redhat.com>
3099 * gio/gdirectorymonitor.c:
3100 Set timeout to NULL when destroying
3102 2007-09-25 Alexander Larsson <alexl@redhat.com>
3105 Rename G_IO_ERROR_NOT_MOUNTABLE to G_IO_ERROR_NOT_MOUNTABLE_FILE as
3106 that is a better description of the error.
3108 2007-09-25 Sebastian Dröge <slomo@circular-chaos.org>
3110 * gio/gvfs.c: (g_vfs_get_local):
3111 Make the local vfs variable static. The same instance should
3114 2007-09-24 Alexander Larsson <alexl@redhat.com>
3116 * gio/glocalfileinfo.c:
3117 Pass in actual length read into sniffer, not the length
3120 2007-09-21 Alexander Larsson <alexl@redhat.com>
3122 * gio/gfileenumerator.c:
3125 * gio/gfileinputstream.c:
3126 * gio/gfileoutputstream.c:
3127 * gio/ginputstream.c:
3128 * gio/goutputstream.c:
3129 Don't crash if async callbacks are NULL
3131 2007-09-20 Alexander Larsson <alexl@redhat.com>
3134 Add async enumerate_children method and default
3137 2007-09-20 Alexander Larsson <alexl@redhat.com>
3140 Add g_file_contains_file & g_file_get_relative_path, since they
3141 were needed for nautilus.
3142 Renamed g_file_resolve_relative to g_file_resolve_relative_path
3147 Implement new methods
3149 2007-09-17 Alexander Larsson <alexl@redhat.com>
3152 * gio/gfileinputstream.[ch]:
3153 * gio/gfileoutputstream.[ch]:
3155 * gio/glocalfileenumerator.[ch]:
3156 * gio/glocalfileinfo.[ch]:
3157 * gio/glocalfileinputstream.c:
3158 * gio/glocalfileoutputstream.c:
3159 * gio/gpollfilemonitor.c:
3160 * programs/gio-copy.c:
3161 * programs/gio-info.c:
3162 * programs/gio-move.c:
3163 Rename get_file_info to query_info() to make it clearer
3164 that these are not simple getters, but do i/o.
3166 2007-09-17 Alexander Larsson <alexl@redhat.com>
3168 * gio/gdatainputstream.[ch]:
3169 * gio/test-streams.c:
3170 Use _read_XXX instead of _get_XXX for the i/o calls
3173 2007-09-17 Alexander Larsson <alexl@redhat.com>
3176 Added needed stuff to TODO comment
3178 2007-09-17 Alexander Larsson <alexl@redhat.com>
3180 * gio/glocalfileoutputstream.c (g_local_file_output_stream_close):
3181 Don't error out removing the backup copy if it doesn't
3184 2007-09-14 Alexander Larsson <alexl@redhat.com>
3186 * programs/Makefile.am:
3187 * programs/gvfs-*.c:
3189 Renamed apps from gvfs-xxx to gio-xxx.
3191 2007-09-14 Alexander Larsson <alexl@redhat.com>
3194 * gio/gfileoutputstream.[ch]:
3195 * gio/glocalfileoutputstream.c:
3196 * programs/gvfs-save.c:
3197 g_file_output_stream_get_etag doesn't do i/o, so remove
3198 cancellation and error.
3200 2007-09-14 Alexander Larsson <alexl@redhat.com>
3203 Add new_etag output to replace_contents functions
3205 2007-09-14 Alexander Larsson <alexl@redhat.com>
3207 * gio/gfileoutputstream.[ch]:
3208 Add async get_file_info and default implementation
3210 2007-09-14 Alexander Larsson <alexl@redhat.com>
3212 * gio/gfileinputstream.c:
3213 Implement fallback wrapper for async get_file_info
3215 2007-09-14 Alexander Larsson <alexl@redhat.com>
3218 Add etag out argument to load_contents
3223 2007-09-14 Alexander Larsson <alexl@redhat.com>
3225 * gio/gcontenttype.c (looks_like_text):
3226 Whitespace like tab, cr and lf do not make the
3229 2007-09-14 Alexander Larsson <alexl@redhat.com>
3231 * gio/gfileinputstream.[ch]:
3232 Add async get_file_info.
3234 2007-09-13 Alexander Larsson <alexl@redhat.com>
3236 * gio/goutputstream.c (g_output_stream_write_all):
3237 Allow NULL for bytes_written
3239 2007-09-13 Alexander Larsson <alexl@redhat.com>
3241 * gio/gmemoryinputstream.[ch]:
3242 Add accessors for data
3244 2007-09-13 Alexander Larsson <alexl@redhat.com>
3246 * gio/gdatainputstream.c (g_data_input_stream_get_until):
3247 Don't crash if length is NULL