2003-08-25 Alexander Larsson * NEWS: * configure.in: Bump to 2.3.8 2003-08-25 Alexander Larsson * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_make_uri_from_input_internal): Only add http: if the string looks like a http uri. 2003-08-25 Alexander Larsson * modules/default-modules.conf: Add dav: scheme, handled by the http module. 2003-08-19 Alexander Larsson * modules/file-method.c (fam_do_iter_unlocked): Don't do anything if fam_connection is NULL. Should fix bug #120211 2003-08-13 Alexander Larsson * libgnomevfs/gnome-vfs-utils.c: revert the ngettext usage. 2003-08-13 Alexander Larsson * modules/http-method.c: Fix the build for Solaris, FreeBSD (and probably anything else that is "not Linux"). Fixes bug #119706. based on patch by Malcolm Tredinnick 2003-08-12 Thomas Vander Stichele * configure.in: make maintainer builds work with aclocal 2003-08-12 Leena Gunda * modules/cdemenu-desktop-method.c (get_title): Added this to get the menu names without quotes. * modules/cdemenu-desktop-method.c (do_open): * modules/cdemenu-desktop-method.c (do_read_directory): Make sure that for unquoted menu item names, the pointers are not NULL. Bugzilla bug# 119425 === gnome-vfs 2.3.7 === 2003-08-11 Alexander Larsson * NEWS: Update * configure.in: Bump to 2.3.7. 2003-08-11 Malcolm Tredinnick * modules/http-method.c: Process the contents of the /system/http_proxy/ignore_hosts gconf key and do not use the proxy when connecting to these hosts. * schemas/system_http_proxy.schemas: Add an entry for /system/http_proxy/ignore_hosts. 2003-08-04 Michael Meeks * test/test-shell.c (authentication_callback), (get_input_string): don't pollute user/password with trailing '\n's. 2003-08-01 Michael Meeks * test/test-shell.c (do_ls): add ls [dir] (main): quit properly at end of stream. 2003-08-03 Danilo Segan * libgnomevfs/gnome-vfs-utils.c: uses ngettext (committed by teuf@gnome.org, please note this makes gnome-vfs depend on a 'new enough' gettext implementation, and compilation will break if such a gettext impl is not available. Hopefully some gnome module (intltool?) makes sure this is the case(?)) === gnome-vfs 2.3.6 === 2003-08-01 Christophe Fergeau * NEWS: * configure.in: Bump version to 2.3.6. 2003-07-25 Christophe Fergeau * libgnomevfs/gnome-vfs-xfer.h: another gcc 3.3 fix, remove unnecessary ',' at the end of some enums. Fixes bug #118851 2003-07-25 Christophe Fergeau * libgnomevfs/gnome-vfs-file-size.h.in: add G_GNUC_EXTENSION before GnomeVFSFileSize declaration to prevent g++ from spitting warnings about long long being forbidden in C++ when used with -pedantic (glib does exactly the same thing in its gint64 definition) Fixes bug #118315 2003-07-24 Leena Gunda * libgnomevfs/gnome-vfs-process.c: Create hash table before associating signal handler for SIGCHLD. Fixes bug #118059 2003-07-18 Christophe Fergeau * test/test-symlinks.c: removed unnecessary ;, fixes build on older gcc and bug #117818 2003-07-18 Fredrik Jönsson * modules/ssh-method.c: cast pid_t* to gint * (fixes compilation on Solaris, bug #117788) * modules/cde-method.c: removed unused variable (fixes compilation on Solaris, bug #117789) * modules/ftp-method.c: include strings.h (for index) (fixes #117787) 2003-07-18 Christophe Fergeau * test/Makefile.am: don't build test-subdir.c since it uses a private gnome-vfs symbol (prefixed with _) which breaks build on some non linux platforms (fixes bug #117791) 2003-07-18 Christophe Fergeau * libgnomevfs/gnome-vfs-mime.c: some stuff wasn't properly freed when calling gnome_vfs_mime_shutdown * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_to_string): fixed a small leak * libgnomevfs/gnome-vfs-uri.c * libgnomevfs/gnome-vfs-utils.c: fixed a few function descriptions to explicitly say when these functions return a newly allocated string * libgnomevfs/gnome-vfs-utils.c (_gnome_vfs_uri_is_in_subdir): fixed a memory leak * test/test-uri.c * test/test-subdir.c * test/test-symlinks.c: fixed some memory leaks (it may seem pointless, but this will save some precious time the next time someone runs valgrind on those tests) 2003-07-17 Christophe Fergeau * test/test-mime-handlers.c: don't segfault on unknown mime types 2003-07-17 Christophe Fergeau * libgnomevfs/gnome-vfs-mime-info.c: fixed a memory leak, fixed a bug where the last line of .mime and .keys files wouldn't be read properly if it didn't end with a \n. 2003-07-17 Christophe Fergeau * modules/vfolder/vfolder-info.c: properly ignore // which can appear in elements * modules/vfolder/vfolder-util.h: fixes debug macro so that it compiles with gcc 3.3 2003-07-17 Christophe Fergeau * test/test-mime-handlers.c: free all allocated memory before exiting to make valgrind happy (and to identify the leaks which are truly coming from gnome-vfs ;) 2003-07-17 Christophe Fergeau * test/test-mime.c: fixed a crash when using an absolute path 2003-07-11 Calum Benson reviewed by: Alex Larsson * modules/vfolder/applications-all-users.vfolder-info.in: Add an Accessibility menu to the Applications menu. Closes #116379, #115979 and #115981. 2003-07-11 Arvind Samptur Reviewed by: Stephen Browne * modules/cdemenu-desktop-method.c: (do_open),(do_open_directory), (do_read_directory): Replace chars such as '/' and '#' with appropriate % escape codes the then unescape again when used to search the dtwmrc files. * modules/cdemenu-desktop-method.c: (open_and_find_pointer_to_menu): Do an exact match of the menu names (strcmp) from the dtwrmc file and not just the first occurance of the string(strchr). 2003-07-10 Alexander Larsson * libgnomevfs/gnome-vfs-thread-pool.c (new_thread_state): Make vfs thread stack size 256k 2003-07-08 Alexander Larsson * libgnomevfs/gnome-vfs-directory.c (gnome_vfs_directory_visit): Handle NULL uris * libgnomevfs/gnome-vfs-cancellable-ops.c (gnome_vfs_get_file_info_uri_cancellable): Handle NULL uris 2003-07-04 Christophe Fergeau * libgnomevfs/gnome-vfs-mime-info.c: (set_value_real): added missing g_string_free (fixes leak) * test/Makefile.am: disabled test-resolv since it uses a private gnome-vfs symbol, which breaks compilation on some non-linux platforms 2003-07-02 Leena Gunda * modules/cdemenu-desktop-method.c (open_and_find_pointer_to_menu): Show the last custom menu defined for the CDE menu items. Bugzilla bug #116101 2003-06-28 Christophe Fergeau * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_set_short_list_applications): when adding an app to the short_list for a mime-type, also add it to the global list of apps able to handle this mime-type 2003-06-28 Christophe Fergeau * libgnomevfs/gnome-vfs-uri.c (BV_IS_SET): don't read out of the buffer bounds if the uri contains 8-bit chars (this fixes some problem when trying to parse uris containing UTF-8 chars) 2003-06-25 Christophe Fergeau * programs/gnomevfs-mkdir.c: removed debugging code, fixes compilation with Forte on Solaris (bug #115862) === gnome-vfs 2.3.5 === 2003-06-23 Dave Camp * NEWS: * configure.in: Bump version to 2.3.5. 2003-06-13 Alexander Larsson * libgnomevfs/gnome-vfs-mime-handlers.c (expand_parameters): Fix memory handling. We were freeing already freed stuff in the GNOME_VFS_ERROR_NOT_SUPPORTED case. 2003-06-11 Jon Svendsen * libgnomevfs/gnome-vfs-application-registry.h (GNOME_VFS_APPLICATION_REGISTRY_STARTUP_NOTIFY): Add a macro describing a new application registry key to determine if an application supports startup notification. 2003-06-11 Leena Gunda * modules/cdemenu-desktop-method.c (do_open): Make sure that for unquoted menu item names, the pointers are not NULL. Bugzilla bug#114555 2003-06-10 Alexander Larsson * libgnomevfs/gnome-vfs-job.c: Make job_private static. ==== gnome-vfs 2.3.4 ==== 2003-06-10 Alexander Larsson * NEWS: * configure.in: Bump version 2003-06-07 Mark Finlay * modules/vfolder/applications-all-users.vfolder-info.in Make other point to Other.directory (bug #81834) 2003-06-05 Kenneth Rohde Christiansen * configure.in: Added li to ALL_LINGUAS. ==== gnome-vfs 2.3.3 ==== 2003-06-04 Alexander Larsson * NEWS: * configure.in: Bump version * libgnomevfs/gnome-vfs-mime-magic.c (_gnome_vfs_sniff_buffer_looks_like_text): Make sure to fallback to returning FALSE. 2003-05-26 Alexander Larsson * configure.in: Reomve -Wsign-promo and add -Wno-strict-aliasing to the list of options to test for. Fixes the gcc 3.3 aliasing warnings. 2003-05-24 Christophe Fergeau * doc/Makefile.am * doc/gnome-vfs-2.0-docs.sgml (added) * doc/gnome-vfs-2.0-overrides.txt (added) * doc/gnome-vfs-2.0-sections.txt (added) * doc/gnome-vfs-2.0.types (added) * doc/gnome-vfs-docs.sgml (removed) * doc/gnome-vfs-overrides.txt (removed) * doc/gnome-vfs-sections.txt (removed) * doc/gnome-vfs.types (removed): fixed API docs building so that they appear in devhelp * doc/tmpl/*.tmpl: removed unnecessary \n in section names, added descriptions for some sections 2003-05-23 Alexander Larsson * modules/file-method.c: Handle the fam connection going away if the connection breaks. 2003-05-23 Alexander Larsson * modules/file-method.c (do_monitor_add): Make FAM usage threadsafe. 2003-05-21 Hidetoshi Tajima * configure.in (GETTEXT_PACKAGE): do libnsl and libsocket checks before inet_pton (#113325). 2003-05-20 Christophe Fergeau * modules/ftp-method.c * modules/http-method.c * modules/ssh-method.c: fixed potential crash with uris containing %2F, fixed a few small leaks ==== gnome-vfs 2.3.2 ==== 2003-05-19 Alexander Larsson * NEWS: * configure.in: Bump to 2.3.2. 2003-05-17 Bastien Nocera * Makefile.am: add the programs subdir so the programs are built by default 2003-05-16 Radu Greab Christophe Fergeau * libgnomevfs/gnome-vfs-utils.c(gnome_vfs_get_volume_free_space): fixed a leak when the function was called with an non-file:// uri * modules/file-method.c(do_is_local): ncpfs file systems aren't local (fixes #97789) 2003-05-16 Bastien Nocera * programs/gnomevfs-ls.c: (show_data), (main): remove use of SHOW_ICON 2003-05-16 Bastien Nocera reviewed by: Alexander Larsson * configure.in: * programs/.cvsignore: * programs/Makefile.am: * programs/gnomevfs-cat.c: * programs/gnomevfs-copy.c: * programs/gnomevfs-info.c: * programs/gnomevfs-ls.c: * programs/gnomevfs-mkdir.c: added some programs to test out gnome-vfs methods, use the gnomevfs- prefix for them, add some more information from get_info in -ls and -info 2003-05-14 Pasupathi Duraisamy * configure.in: check "getdelim" in AC_CHECK_FUNCS * libgnomevfs/Makefile.am (EXTRA_DIST): remove getdelim.c * modules/extfs-method.c: Wrap getdelim definition inside #ifndef HAVE_GETDELIM (patch reviewed by alexl@redhat.com) 2003-05-14 Malcolm Tredinnick * modules/http-method.c: Bring comment about gconf keys into line with reality. 2003-05-13 Shailesh Mittal (applied by Ian McKellar ) Changes are made by keeping nautilus in focus. * libgnomevfs/gnome-vfs-uri.c: Macro for URI_DELIMITER_IPV6_SET is added and a value is added to array of structures uri_strspn_sets[]. (split_toplevel_uri): Changed to parse IPv6 address (given in square brackets) like [fe80::203:baff:fe0b:a63d]. (gnome_vfs_uri_to_string): Modified to enclose an IPv6 address within '[' and ']', while converting uri to string. 2003-05-12 Michael Meeks * libgnomevfs/gnome-vfs-job.c: update misc. calls to spew more pleasant debug. * libgnomevfs/gnome-vfs-job.h: add gettimeofday call to JOB_DEBUG_PRINT, add job_debug_types array and JOB_DEBUG_TYPE macro to pretty-print the job type. 2003-05-09 Telsa Gwynne * configure.in: Added cy to ALL_LINGUAS 2003-05-08 Samúel Jón Gunnarsson * configure.in: Added "is" into ALL_LINGUAS 2003-05-06 Danilo Å egan * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. 2003-05-05 Bastien Nocera * libgnomevfs/gnome-vfs-mime.c: (_gnome_vfs_get_mime_type_internal): "audio/mpeg" is the right mimetype for MP3 files, not "audio/x-mp3" (Closes: #100523) 2003-05-05 Xan Lopez * modules/cdda-cddb.c: (CDDBConnect): Init sock variable to -1, fixes warning compilation. ==== gnome-vfs 2.3.1 ==== 2003-05-05 Alexander Larsson * libgnomevfs/Makefile.am: * configure.in: Go to libgnome/gtk+ style library versioning. 2003-05-05 Alexander Larsson * NEWS: Update * configure.in: Bump version 2003-05-03 Arvind Samptur * modules/cdemenu-desktop-method.c: (create_cde_icon_name_cache): While running the dttypes command to create a icon cache for the cde menu, we need to reap the child process. wait() currently on a solaris box fails with an EINTR. So loop till you succeed. Fixes #111628 2003-04-25 Alexander Larsson Based on patch by Frank Worsley * libgnomevfs/gnome-vfs-utils.[ch]: (gnome_vfs_icon_path_from_filename): Use g_file_test instead of hack_file_exists. (gnome_vfs_make_uri_from_input_with_dirs): Add new function. 2003-04-24 Alexander Larsson * libgnomevfs/Makefile.am (libgnomevfs_2_la_LIBADD): Remove LTLIBOBJS for the moment. It was breaking the build. 2003-04-24 Alexander Larsson Patch from Frank Worsley * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_new_from_id), (gnome_vfs_mime_action_launch), (gnome_vfs_mime_action_launch_with_env), (gnome_vfs_mime_application_launch), (gnome_vfs_mime_application_launch_with_env), (expand_parameters): new functions for launching mime actions and applications * libgnomevfs/gnome-vfs-mime-handlers.h: updated for new functions * libgnomevfs/gnome-vfs-private-utils.c: (_gnome_vfs_use_handler_for_scheme), (_gnome_vfs_url_show_using_handler_with_env): private functions for launching url handlers defined in gconf (gnome_vfs_prepend_terminal_to_vector): the default terminal is needed by gnome-vfs so we make a copy of this from libgnome * libgnomevfs/gnome-vfs-private-utils.h: update for new functions * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-result.h: new error codes for the new functions * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_url_show), (gnome_vfs_url_show_with_env): convenience functions for launching a url in string form using the default application or component * libgnomevfs/gnome-vfs-utils.h: updated for new functions * schemas/desktop_default_applications.schemas: new schema that defines the default terminal application * schemas/Makefile.am: updated for new schema 2003-04-24 Masahiro Sakai * configure.in: fix IPV6 test. check inet_pton() and off64_t. * configure.in: call AC_LIBTOOL_WIN32_DLL. This is necessary for building DLL on some win32 platform. * modules/cdemenu-module.conf * modules/default-modules.conf: remove "lib" prefix from module names since it is added automatically by g_module_build_path(), and it breaks on Cygwin. (Cygwin uses "cyg" as library prefix.) * libgnomevfs/Makefile.am * modules/Makefile.am * modules/vfolder/Makefile.am: add -no-undefined to each library's LDFLAGS, and write each library's depencency libraries explicitly in its LIBADD. These are necessary for building DLL on some win32 platform. * libgnomevfs/Makefile.am (libgnomevfs_2_la_LIBADD): add $(LTLIBOBJS) to link getdelim.lo. * libgnomevfs/getdelim.c: add prototype and fix to work on Cygwin. * modules/file-method.c: don't use lseek64() when off64_t is not available. (do_read_directory): call G_UNLOCK(readdir) when readdir() is failed. (find_trash_in_one_hierarchy_level): fix to work without readdir_r(). * modules/vfolder/Makefile.am (module_flags): add -module * modules/vfolder/vfolder-common.c (entry_reload_if_needed): comment out vfolder_monitor_emit() call since this function is not defined. * modules/http-method.c: if inet_pton() is not available, define the function using inet_aton(). [FIXME: should be done using AC_REPLACE_FUNCS]. 2003-04-24 Michael Meeks * TODO: waffle unproductively - this file is really stale. 2003-04-23 Alexander Larsson * libgnomevfs/gnome-vfs-mime-info.c (gnome_vfs_mime_type_is_known): Nothing is known if the mime type has been deleted. Fixes bug #109479 2003-04-23 Alexander Larsson * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_remove_extension): Handle the case when the last extension is removed. * modules/file-method.c (get_stat_info): Correct handling of symlinks. Fixes bug #111397. Based on patch in bug by jon. 2003-04-18 Christophe Fergeau * libgnomevfs/gnome-vfs-private-utils.h: removed misleading comment * modules/cdemenu-module.conf * modules/default-modules.conf: removed .so extension to module names since this is added automatically by gmodule, and it breaks on some unices (eg HPUX). Fixes #110986 2003-4-17 HideToshi Tajima * modules/cdemenu-desktop-method.c (get_icon_for_menu): Fixes bug #103306. Translators, please translate these messages exactly the same in CDE's sys.dtwmrc file of the locale. 2003-04-17 Balamurali Viswanathan * modules/http-method.c: Changed private symbol inet_aton to inet_pton. 2003-04-15 Christophe Fergeau * configure.in: * libgnomevfs/gnome-vfs-mime-magic.c: don't try to use wctype.h and mbrtowc on platforms which don't have it (bug #110226) 2003-04-11 Christophe Fergeau * modules/http-method.[ch]: cleaned up some eazel related stuff parses an HTTP error code in the body of an answer to a PROPFIND request (fixes access to WebDAV servers using Resin). Fixes bug #110532 2003-04-11 Christophe Fergeau * test/test-uri.c: added regression test for gnome_vfs_uri_make_full_from_relative 2003-04-11 Christophe Fergeau * libgnomevfs/gnome-vfs-i18n.c (read_aliases): make it work * libgnomevfs/gnome-vfs-utils.c: removed bogus #ifndef GNOME_VFS_DISABLE_DEPRECATED 2003-04-11 Hidetoshi Tajima * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): call bindtextdomain inside #ifdef ENABLE_NLS. Fixes bug #110213. 2003-04-11 Michael Meeks * test/test-shell.c (authentication_callback, main): hook up some really dumb authentication bits. 2003-04-11 Alexander Larsson * test/test-async.c (file_control_callback): Don't double free operation_data. 2003-04-09 Michael Meeks * libgnomevfs/gnome-vfs-module-callback.h: add G_BEGIN/END_DECLS for my C++ 2003-04-05 Christophe Fergeau * libgnomevfs/gnome-vfs-uri.c * libgnomevfs/gnome-vfs-utils.c * libgnomevfs/gnome-vfs-utils.h: removed duplicated code, deprecated gnome_vfs_make_uri_full_from_relative, use gnome_vfs_uri_make_full_from_relative instead 2003-04-04 Christophe Fergeau * modules/fstype.c: don't try to call getmntent with a NULL parameter if mtab is non-existent. Fixes bug #106950 2003-04-03 Kaushal Kumar * libgnomevfs/gnome-vfs-mime-info.c (gnome_vfs_mime_set_extensions_list): Set the deleted key to "" if it exists before resetting ext key. Fixes bug #109795. 2003-04-02 Shailesh Mittal * configure.in : Added option for enabling IPv6 support, and only enabling IPv6 support if AF_INET6 and function getaddrinfo are defined there. * libgnomevfs/gnome-vfs-inet-connection.c : Added a field addr6 of #sockaddr_in6 type in structure GnomeVFSInetConnection, for holding IPv6 address. One more field socklen is added to the definition of structure GnomeVFSInetConnection to hold the length of socket for identification of address family. (gnome_vfs_inet_connection_create): Modified to have support for IPv6 addresses too. Included for prototype of the function _gnome_vfs_have_ipv6 (). * libgnomevfs/gnome-vfs-private-utils.c : (_gnome_vfs_have_ipv6): Function added to check for run-time IPv6 support. * libgnomevfs/gnome-vfs-private-utils.h : Added prototype for function _gnome_vfs_have_ipv6 (). * libgnomevfs/gnome-vfs-ssl.c (gnome_vfs_ssl_create) : Modified to have support for IPv6 addresses as well. Included for prototype of the function _gnome_vfs_have_ipv6 (). * modules/cdda-cddb.c : Included "config.h" for having definition of macro ENABLE_IPV6. (CDDBConnect) : Modified to support IPv6 addresses in addition to IPv4. (have_ipv6) : Function added to check for run-time IPv6 support. * modules/http-method.c : Included header for prototype of getaddrinfo(). (have_ipv6) : Function added to check for run-time IPv6 support. (proxy_should_for_hostname) : It is modified to work with IPv6 and IPv4-Mapped IPv6 addresses in addition to IPv4 addresses. ==== gnome-vfs 2.2.4 ==== 2003-03-31 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.4. 2003-03-31 Alexander Larsson * libgnomevfs/gnome-vfs-configuration.c (_gnome_vfs_configuration_init): Look for user modules in ~/.gnome2/vfs/modules instead of ~/.gnome/vfs/modules. 2003-03-27 Christophe Fergeau * modules/ftp-method.c: make sure the current directory is / when using an uri without directory 2003-03-26 Christian Rose * configure.in: Added "yi" to ALL_LINGUAS. 2003-03-25 Alexander Larsson * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_get_volume_free_space): statvfs works for nfs! 2003-03-25 Alexander Larsson * libgnomevfs/gnome-vfs-monitor.c: Don't queue changes to canceled monitors. Fix sign bug that caused events to be missed. Fix theoretical race with setting up the idle handler. 2003-03-23 Murray Cumming * doc/about.sgml: Simple Sample Progam: Allocated memory for the read buffer. Initializing this to 0 would show the error. I don't know how this ran without crashing before. 2003-03-24 Alexander Larsson * libgnomevfs/gnome-vfs-job.c (_gnome_vfs_job_destroy_notify_result): Don't free OP_XFER notify result. Its stack-allocated. (#100654) 2003-03-20 Guntupalli Karunakar * configure.in: Added "ml" in ALL_LINGUAS 2003-03-18 Alexander Larsson * libgnomevfs/gnome-vfs-xfer.c (copy_symlink): Check for errors when copying symlinks. 2003-03-14 Alexander Larsson * libgnomevfs/gnome-vfs-monitor.c (gnome_vfs_monitor_callback): Throttle the change event rate so that applications don't use 100% cpu when monitoring a directory someone is downloading to. 2003-03-14 Dave Camp * libgnomevfs/gnome-vfs-job.c (_gnome_vfs_job_destroy_notify_result): Remove the unnecessary g_warning here. 2003-03-14 Joël Brich * configure.in: Added "eo" to ALL_LINGUAS. 2003-03-14 Michael Meeks * test/test-shell.c (do_ssl): impl. (main, list_commands): upd. 2003-03-14 Alexander Larsson * Makefile.am: Remove hardcoded ACLOCAL_AMFLAGS. Please do not make changes to modules without permission from the maintainer. ==== gnome-vfs 2.2.3 ==== 2003-03-10 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.3 2003-03-05 Alexander Larsson * configure.in: Try pkg-config for detecting openssl. Add --disable-openssl to not use openssl Add --enable-gnutls to enable gnutls. 2003-02-25 Taneem Ahmed * configure.in: Added "bn" to ALL_LINGUAS. 2003-02-24 Alexander Larsson * libgnomevfs/gnome-vfs-job.c (_gnome_vfs_job_destroy_notify_result): Turn crash into g_warning for smb: module callback bug. This needs looking into. I'm not sure what is happening here. 2003-02-24 Alexander Larsson * modules/file-method.c (do_read_directory): Actually make the non-readdir_r case work. 2003-02-24 Alexander Larsson * libgnomevfs/gnome-vfs-monitor.c (destroy_monitor_handle): Warn if the handle was not in the hash table. (gnome_vfs_monitor_callback): Loop to get the hashtable. This fixes a possible race where there is a callback before the add_monitor code has added the monitor to the hashtable. (#106758) 2003-02-21 Alexander Larsson * monikers/Makefile.am: Assign CLEANFILES with normal assignment * libgnomevfs/Makefile.am: Remove commented out lines that were confusing automake. 2003-02-20 Alexander Larsson * libgnomevfs/gnome-vfs-job.h: Remove include of semaphore.h. Not needed. 2003-02-19 Alexander Larsson * libgnomevfs/gnome-vfs-mime-magic.c: Fix vorbis sniff change. (_gnome_vfs_sniff_buffer_looks_like_text): Non utf8 text sniffing. * schemas/Makefile.am (install-data-local): Don't install schemas if --disable-schemas-install was passed * test/test-shell.c: Add support for get_info_from_handle. * modules/http-method.c (do_get_file_info_from_handle): For get_info_from_handle we use the cached file info to avoid re-connecting. 2003-02-18 Alexander Larsson * configure.in: * modules/file-method.c (do_read_directory): Check for readdir_r and use locks + readdir if it doesn't exist. 2003-02-18 Alexander Larsson * libgnomevfs/gnome-vfs-mime-magic.c (_gnome_vfs_sniff_buffer_looks_like_mp3): Don't interpret vorbis files with ID3 tags as mp3. 2003-02-18 Alexander Larsson * configure.in: Define HAVE_SYS_PARAM_H. Patch from jmmv@hispabsd.org. 2003-02-18 Roozbeh Pournader * configure.in: Added "fa" to ALL_LINGUAS. 2003-02-17 Bastien Nocera * modules/ssh-method.c: (do_read_directory): implement setting the type of the file when we have a symlink (Closes: #92630) 2003-02-17 Bastien Nocera * modules/ssh-method.c: (do_read_directory): implement mime-type checking for symlinks, still doesn't work for directories 2003-02-17 Frederic Crozat * modules/file-method.c: (read_link): fix memleak when readlink fails. * test/.cvsignore : quiet CVS, quiet. 2003-02-13 Bastien Nocera * modules/ssh-method.c: (do_move), (do_unlink), (do_check_same_fs): implement do_move and revive do_check_same_fs 2003-02-13 Bastien Nocera * modules/ssh-method.c: (ssh_connect), (do_open_directory): don't crash when accessing ssh://, nicer error message when we get a connection refused 2003-02-13 Bastien Nocera reviewed by: Alexander Larsson * modules/ssh-method.c: (ssh_connect), (ssh_destroy), (ssh_check_for_done), (do_read), (do_read_directory): add more robust error checking, check for EOF and EOD when we're done reading rather than on close ==== gnome-vfs 2.2.2 ==== 2003-02-12 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.2 2003-02-12 Alexander Larsson * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_monitor_add): Free uri if no monitor_add implementation. Plugs leak. * libgnomevfs/gnome-vfs-monitor.c (_gnome_vfs_monitor_do_cancel): Correctly destroy the handle of result == OK. Plugs leak. 2003-02-12 Bastien Nocera reviewed by: Alexander Larsson * modules/Makefile.am: * modules/ssh-method.c: (ssh_connect), (ssh_read_error), (ssh_wait_and_destroy), (do_open), (do_close), (do_read), (do_make_directory), (do_remove_directory), (do_unlink), (do_check_same_fs), (do_set_file_info): give a login failed error when no key is setup to access the machine, a server not available when the machine doesn't have its keys in the known_hosts, use port information from the URI, redirect ssh:/// to ssh://localhost/, wait 30 secs for ssh to finish before killing it (fixes the data loss problem when copying files to a remote location), check for cancellation when ssh takes to much time to finish, implement do_check_same_fs (disabled until move is implemented) 2003-02-10 Christophe Fergeau * modules/file-method.c: disabled the annoying "FAMOpen failed..." warning ==== gnome-vfs 2.2.1 ==== 2003-02-10 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.1 * modules/file-method.c: Queue up fam events before adding/removing monitors to avoid deadlocking. Fixes gnome-theme-manager hang. 2003-02-09 Christophe Fergeau * libgnomevfs/gnome-vfs-configuration.c: fixed a memory leak 2003-02-08 Kang Jeong-Hee * Makefile.am: Added ACLOCAL_AMFLAGS. bug #102296 2003-02-06 Christian Rose * configure.in: Added "id" to ALL_LINGUAS. 2003-01-22 Pablo Saratxaga * configure.in: Added Amharic (am), Bosnian (bs), Macedonian (mk) to ALL_LINGUAS 2003-01-22 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. ==== gnome-vfs 2.2.0 ==== 2003-01-20 Alexander Larsson * NEWS: * configure.in: Bump to 2.2.0 2003-01-17 Alexander Larsson * libgnomevfs/gnome-vfs-ssl.c (gnome_vfs_ssl_create_from_fd): Fix warning. 2003-01-16 Alexander Larsson * configure.in: Comment out the gnutls check since its not tested. 2003-01-16 Alexander Larsson * acinclude.m4: * acconfig.h: * configure.in: * libgnomevfs/gnome-vfs-ssl.c: gnutls support if openssl is not availible. Patch from Andrew McDonald (debian). I haven't tested this. 2003-01-14 Alexander Larsson * libgnomevfs/gnome-vfs-job.c: Fix race and bugs. Patches from Josh Parsons (jp30@st-and.ac.uk). Fixes #103420 and #103236. ==== gnome-vfs 2.1.91 ==== 2003-01-13 Alexander Larsson * NEWS: * configure.in: Bump to 2.1.91 2003-01-07 Alexander Larsson * modules/gzip-method.c (write_gzip_header): Set creation time. Based on patch by davh@davh.dk. (#41172) * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_extract_dirname): Don't crash on NULL uri->text. Patch by Dennis Haney. (#79730) * libgnomevfs/gnome-vfs-socket-buffer.c (gnome_vfs_socket_buffer_peekc): Return correct char instead of first in buffer. Patch from ksato@users.sourceforge.net (#102202) ==== gnome-vfs 2.1.6 ==== 2003-01-06 Alexander Larsson * NEWS: * configure.in: Bump version to 2.1.6. 2002-12-19 Alexander Larsson * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_format_file_size_for_display): Fix erronous change in string. 2002-12-19 Michael Meeks * big sed job to '_' prefix 'internal' methods, it turns out that the modules use loads of these methods, based on Tim Janik's patch (thanks Tim) 2002-12-18 Diego Gonzalez * libgnomevfs/gnome-vfs-job.h: spelling fix * libgnomevfs/gnome-vfs-handle.h: add the description of GnomeVFSHandle 2002-12-18 Alexander Larsson * configure.in: Fix up mistakes from previous change. 2002-12-18 Diego Gonzalez * configure.in: accidentaly changed the version in the last merge 2002-12-18 Diego Gonzalez * configure.in: check for gtk-doc version 0.10 * libgnomevfs/gnome-vfs-async-ops.[c-h] * libgnomevfs/gnome-vfs-directory.h * libgnomevfs/gnome-vfs-file-info.[c-h] * libgnomevfs/gnome-vfs-handle.h * libgnomevfs/gnome-vfs-init.c * libgnomevfs/gnome-vfs-mime.[c-h] * libgnomevfs/gnome-vfs-mime-info.h * libgnomevfs/gnome-vfs-job.h * libgnomevfs/gnome-vfs-mime-handlers.h * libgnomevfs/gnome-vfs-open-fd.c * libgnomevfs/gnome-vfs-ops.c * libgnomevfs/gnome-vfs-monitor.h * libgnomevfs/gnome-vfs-result.h * libgnomevfs/gnome-vfs-utils.c * libgnomevfs/gnome-vfs-xfer.[c-h] add API docs * doc/writing-modules.sgml: * doc/gnome-vfs-sections.txt * doc/gnome-vfs-docs.sgml * doc/about.sgml * doc/tmpl/gnome-vfs-async-ops.sgml * doc/tmpl/gnome-vfs-directory.sgml * doc/tmpl/gnome-vfs-file-info.sgml * doc/tmpl/gnome-vfs-init.sgml * doc/tmpl/gnome-vfs-metadata.sgml * doc/tmpl/gnome-vfs-ops.sgml * doc/tmpl/gnome-vfs-result.sgml * doc/tmpl/gnome-vfs-uri.sgml * doc/tmpl/gnome-vfs-utils.sgml * doc/tmpl/gnome-vfs-xfer.sgml * doc/Makefile.am fix documentation, reorganize it and migrate the generation to use xml and lixslt * doc/tmpl/gnome-vfs-directory-basic-ops.sgml * doc/tmpl/gnome-vfs-directory-find-ops.sgml * doc/tmpl/gnome-vfs-directory-list-ops.sgml * doc/tmpl/gnome-vfs-file-rw-ops.sgml * doc/tmpl/gnome-vfs-file-trunc-ops.sgml * doc/tmpl/gnome-vfs-file-basic-ops.sgml * doc/tmpl/gnome-vfs-file-advanced-ops.sgml * doc/tmpl/gnome-vfs-file-info-ops.sgml new files 2002-12-18 Alexander Larsson * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-init.h: Deprecate gnome_vfs_mime_shutdown, gnome_vfs_loadinit, gnome_vfs_preinit and gnome_vfs_postinit. 2002-12-18 Frederic Crozat * modules/Makefile.am: * modules/extfs-method.c: * modules/extfs/Makefile.am: use $(libdir) instead of $(prefix)/lib (needed for AMD x86-64) 2002-12-18 Alexander Larsson * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-utils.c: (_gnome_vfs_uri_resolve_all_symlinks_uri), (_gnome_vfs_uri_resolve_all_symlinks), (_gnome_vfs_uri_is_in_subdir): New functions. Not exported since we're in a freeze, but might be nice to export later. * libgnomevfs/gnome-vfs-xfer.c: (move_source_is_in_target), (handle_name_conflicts): Handle the case when moving a file over a directory it is contained in. (Bug #99346) * test/Makefile.am: * test/test-resolv.c: (main): * test/test-subdir.c: (main): Some test code. 2002-12-17 Alexander Larsson * configure.in: * modules/vfolder/Makefile.am (libvfolder_desktop_la_LIBADD): Add gthread-2.0 to TEST_LIBS and add it to LIBADD. Patch from owen taylor. ==== gnome-vfs 2.1.5 ==== 2002-12-16 Alexander Larsson * NEWS: * configure.in: Bump to 2.1.5 2002-12-12 Alexander Larsson * libgnomevfs/gnome-vfs-result.[ch]: Add GNOME_VFS_ERROR_NO_MASTER_BROWSER error. ==== gnome-vfs 2.1.4 ==== 2002-12-09 Alexander Larsson * configure.in: Bump version to 2.1.4. * NEWS: Update 2002-12-06 Frederic Crozat * libgnomevfs/gnome-vfs-mime-info.c: (ensure_user_directory_exist): Check dir is not NULL before trying to close it. 2002-12-05 Frederic Crozat * libgnomevfs/gnome-vfs-mime-info.c: (ensure_user_directory_exist), (write_back_mime_user_file), (write_back_keys_user_file): Ensure directory stream is never leaked. 2002-12-05 Frederic Crozat * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_init): Ensure user mime dir exists before monitoring it 2002-12-05 Alexander Larsson * modules/default-modules.conf: * modules/console-method.c: * modules/Makefile.am: Remove console method. * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-open-fd.c: * libgnomevfs/gnome-vfs-utils.h: Implement gnome_vfs_open_fd(). Patch from Giovanni Corriga 2002-11-27 Jody Goldberg * configure.in : post release version bump 2002-11-27 Jody Goldberg * Release 2.1.3.1 2002-11-27 Jody Goldberg * configure.in : bump to 2.1.3.1 for release 2002-11-12 Michael Meeks * modules/extfs-method.c (do_get_file_info): check result before using the handle. 2002-11-12 Alexander Larsson * libgnomevfs/gnome-vfs-method.h: Added file_control to ops * libgnomevfs/gnome-vfs-async-ops.[ch]: Added gnome_vfs_async_file_control * libgnomevfs/gnome-vfs-cancellable-ops.[ch]: Added gnome_vfs_file_control_cancellable * libgnomevfs/gnome-vfs-ops.[ch]: Added gnome_vfs_file_control * libgnomevfs/gnome-vfs-handle-private.h: * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-job.[ch]: Implement file_control 2002-11-08 Giovanni Corriga * modules/Makefile.am * modules/default-modules.conf * modules/console-method.c: added console method (which adds console:///stdin, console:///stdout, console:///stderr uris) 2002-11-08 Christophe Fergeau * libgnomevfs/gnome-vfs-file-info.h: documented GNOME_VFS_FILE_INFO_FIELDS_ACCESS and GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS * modules/ssh-method.c: only get mime type and access info if they were asked 2002-11-06 Christophe Fergeau * libgnomevfs/gnome-vfs-mime-magic.c * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: rework looks_like_text to use glib functions, remove looks_like_gzip (moved in gnome-mime-data) * libgnomevfs/gnome-vfs-mime.c: removed looks_like_gzip call, replaced by a strcmp on the mime type returned by the sniff function 2002-11-05 Michael Meeks * test/Makefile.am: disable test-metadata * libgnomevfs/gnome-vfs.h: remove gnome-vfs-metadata.h. * libgnomevfs/gnome-vfs-metadata-private.h, * libgnomevfs/gnome-vfs-metadata.h, * libgnomevfs/gnome-vfs-metadata.c: add generated files to CVS, so they can be canonicalized later if neccessary. * libgnomevfs/Makefile.am: disable gob builds, and remove generated files from install - immature / unfinished API. * configure.in: disable building gob. 2002-11-04 Frederic Vannere * modules/ftp-method.c: add support for Microsoft and Netware FTP servers 2002-11-04 bugzilla-gnome@thewrittenword.com * configure.in: * libgnomevfs/gnome-vfs-method.c: check whether to use seteuid/setegid or setresuid/setregid (fixes #96078) 2002-11-04 Jens Elkner * configure.in: fixes --with-openssl-includes 2002-11-04 Josh Lucas * test/test-shell.c: display more info, fixes #42800 2002-11-03 Dmitry G. Mastrukov * configure.in: Added Belarusian to ALL_LINGUAS 2002-11-02 Michael Meeks * Version 2.1.3 * libgnomevfs/Makefile.am: disable check-headers.pl, we have some path issues here. * modules/vfolder/Makefile.am: disable this, doesn't pass either (grr.) 2002-10-31 Bastien Nocera * modules/vfolder/network.vfolder-info.in: make writing to network: work again 2002-10-30 Bastien Nocera * modules/default-modules.conf: * modules/vfolder/Makefile.am: * modules/vfolder/network.vfolder-info.in: added network: scheme 2002-10-29 Jody Goldberg Patch from Christophe Fergeau * libgnomevfs/gnome-vfs-file-info.h : Add explicit flags to request permissioning. * modules/file-method.c (get_access_info) : new. * modules/ssh-method.c (get_access_info) : new. * test/test-info.c (print_file_info) : test for the new flag. 2002-10-29 Michael Meeks * libgnomevfs/gnome-vfs-module-callback.c (copy_one_callback): bin so we can build -Wall cleanly again. 2002-10-29 Colin Walters * test/test-xfer.c: add params so we can regression test the various options nicely. * libgnomevfs/gnome-vfs-xfer.h (GnomeVFSXferOptions): add GNOME_VFS_XFER_FOLLOW_LINKS_RECURSIVE. * libgnomevfs/gnome-vfs-xfer.c (copy_directory): add recursive symlink following copy support. 2002-10-25 Alex Graveley Drop support for the broken .vfolder-info-default concept. * modules/vfolder/Makefile.am (EXTRA_DIST): Remove applications.vfolder-info-default.in and preferences.vfolder-info-default.in (vfolder_DATA): Remove applications.vfolder-info-default and preferences.vfolder-info-default. * modules/vfolder/applications-all-users.vfolder-info.in: Link to preferences:/// instead of preferences-all-users:///. If admins want to edit preferences-all-users:, they should go there directly. * modules/vfolder/vfolder-info.c (vfolder_info_find_filenames): Don't look for .vfolder-info-default, and don't copy it to the user's vfolder directory. (copy_user_default_file): Remove. (vfolder_info_init): Set the default writedir to ~/.gnome2/vfolders/scheme, in case a .vfolder-info files doesn't exist to tell us where to write changes. 2002-10-25 Alex Graveley * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new_private): Use gnome_vfs_context_peek_current() instead of gnome_vfs_context_new() which was triggering an abort if resolving a transform URI from a worker thread because you cannot create contexts in anything other than the primary thread (for some reason). 2002-10-25 Alex Graveley * modules/vfolder/vfolder-common.c (folder_add_include): Don't add the include to a hashtable, since a) we don't use it and b) it was causing memory corruption on folder free. Fixes #95965. (folder_remove_include): Drop hashtable removing code. 2002-10-24 Brian Cameron * libgnomevfs/gnome-vfs-module-callback.c: Performance fix. No longer copy the default callback functions to stack_info in the function gnome_vfs_module_callback_get_stack_info. Note that the function gnome_vfs_module_callback_invoke is the only function to access the callback hashes, and it already will get the callback from the default if it is not in the private thread memory. 2002-10-21 Stephen Browne * modules/cdemenu-desktop-method.c: Find correct titles and use last defintion instead of first found of a menu that is defined multiple times. 2002-10-12 Seth Nickell * modules/vfolder/applications.vfolder-info-default.in: Disable favorites folder... Everything is favorites now. 2002-10-04 Mark McLoughlin * modules/vfolder/vfolder-common.h: turn on VFOLDER_DEBUG for debugging spew and VFOLDER_DEBUG_WITHOUT_MONITORING for testing non-FAM monitoring code. * modules/vfolder/vfolder-common.c: * modules/vfolder/vfolder-info.c: only spew debugging info if VFOLDER_DEBUG. * modules/vfolder/vfolder-util.c: (monitor_callback_internal): Use non-FAM monitoring code if VFOLDER_DEBUG_WITHOUT_MONITORING is defined. 2002-10-07 Seth Nickell * modules/vfolder/applications-all-users.vfolder-info.in: Don't hardcode displaying evolution and galeon into the top-level menu. 2002-10-01 Yanko Kaneti * schemas/system_http_proxy.schemas: reorder some elements so that it validates. 2002-09-30 Christophe Fergeau * modules/ssh-method.c: Quote filenames using g_shell_quote before passing them to ssh 2002-09-30 Christophe Fergeau * modules/ssh-method.c: Make do_read return GNOME_VFS_ERROR_EOF when it read 0 byte Force C locale in ssh_connect before running ssh (the ls parsing function expects ls output to be in this locale) When the uri contains no username, use the name of the current user (otherwise ssh://localhost won't work). Fix a possible buffer overflow in do_read_directory 2002-09-30 Christophe Fergeau * modules/ftp-method.c: Moved ftp authentification to a separate function (ftp_login) Correctly return GNOME_VFS_ERROR_EOF when do_read didn't read anything 2002-09-27 Arvind Samptur * modules/Makefile.am : look for cde menus only if cde is present. * cdemenu-module.conf : added the new file. * default-modules.conf : remove cdemenu from defaults. Fixes #86736. Patch from Stephen Browne. 2002-09-20 Arvind Samptur * modules/cde-desktop-method.c: Removing Comment field from the desktop files. Fixes #88484 Redoing this since gnome-vfs-rewrite and gnome-2-0 branch merge had knocked it off. 2002-09-19 James Willcox Moved some of eel-vfs-extensions.c into gnome-vfs-utils.c * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string_internal), (gnome_vfs_make_uri_canonical_old), (gnome_vfs_make_valid_utf8), (gnome_vfs_format_uri_for_display_internal), (gnome_vfs_format_uri_for_display), (is_valid_scheme_character), (has_valid_scheme), (gnome_vfs_escape_high_chars), (gnome_vfs_make_uri_from_input_internal), (gnome_vfs_make_uri_from_input), (gnome_vfs_make_uri_canonical_strip_fragment), (uris_match), (gnome_vfs_uris_match), (gnome_vfs_str_has_prefix), (gnome_vfs_uri_is_local_scheme), (gnome_vfs_handle_trailing_slashes), (gnome_vfs_make_uri_canonical), (gnome_vfs_get_uri_scheme), (file_uri_from_local_relative_path), (gnome_vfs_make_uri_from_shell_arg), (is_uri_partial), (remove_internal_relative_components), (gnome_vfs_make_uri_full_from_relative): * libgnomevfs/gnome-vfs-utils.h: 2002-09-19 Christophe Fergeau * libgnomevfs/gnome-vfs-application-registry.c * libgnomevfs/gnome-vfs-application-registry.h * libgnomevfs/gnome-vfs-configuration.c * libgnomevfs/gnome-vfs-configuration.h: added support for uses_gnomevfs in .application file so that apps can indicate they can open all uris supported by gnomevfs * doc/mime-data-specification.txt: updated doc accordingly 2002-09-13 Ghee Teo * Fixes #92132 in modules/http-method.c which leaks file descriptor on a bad page, error 405. 2002-09-09 Jody Goldberg * libgnomevfs/gnome-vfs-job.c (gnome_vfs_job_destroy_notify_result) : Add an entry to OP_XFER. 2002-09-04 Ian McKellar * libgnomevfs/gnome-vfs-configuration.c: (gnome_vfs_configuration_init): Fixed bug #90035. If g_get_home_dir returns NULL then don't load configuration from your home directory. 2002-09-04 Ian McKellar * LIMITATIONS: Document a few of GnomeVFS's limitations 2002-08-29 Alex Graveley * configure.in: Bump version to 2.1.2 for development. === start merge changes from gnome-vfs-2-0-vfolder-rewrite branch === 2002-08-23 Alex Graveley * modules/vfolder/vfolder-method.c (do_move): Remove fake CHANGED event for .directory files since it is really a bug in nautilus renames (see bug #89616). 2002-08-23 Alex Graveley * modules/vfolder/vfolder-info.c (vfolder_info_emit_change): Call gnome_vfs_escape_path_string() on the path arg. This fixes some strange behavior in nautilus when editing .desktop files with emacs, since emacs' temporary #files were being parsed as URI fragment identifiers. * modules/vfolder/vfolder-util.h (VFOLDER_URI_PARSE): Add debug printf with function name being called. This allows us to trace the vfs method calls. 2002-08-23 Alex Graveley * modules/vfolder/vfolder-common.c (folder_extend_monitor_cb): Fix segfault where we accidentally used child.entry instead of entry. Remove local entry var, and use child.entry throughout. Fixes bug #91271. 2002-08-19 Alex Graveley * modules/vfolder/vfolder-method.c (set_desktop_file_key): Impl. Append a key/value pair to the end of the buffer, after removing any prior occurances of the same keyname. (set_desktop_file_locale_key): Impl. Localize the keyname with the current locale gotten from gnome_vfs_i18n_get_language_list(), and call set_desktop_file_key(). (set_dot_directory_locale_name): Impl. Handles renaming .directory files by making them user-private if necessary, reading in the file contents, replacing the localized Name key, and writing it back out again. Also generates a CHANGED event for the .directory file. (do_move): Call set_dot_directory_locale_name() to change the folder name as described in the .directory file, as well as renaming the "physical" directory name. (do_create_symbolic_link): Fix deadlock by unlocking the vfolder before calling get_file_info() and locking it again afterwards , in case the target URI is on the same filesystem (which may always be the case). * modules/vfolder/vfolder-common.c (entry_make_user_private): Make a .directory file user-private by calling folder_set_desktop_file(), instead of modifying includes/excludes. (create_dot_directory_entry): Make files user_private again, so we don't make a new user-private copy for each edit. Ths has the side effect that changes to applications-all-users: directory names will be reflected in the original .directory files. * modules/vfolder/vfolder-info.c (filename_monitor_handle): Reset info->filename_reload_tag to 0 as a precaution. 2002-08-16 Alex Graveley * modules/vfolder/vfolder-method.c (do_remove_directory_unlocked): Use vfolder_build_uri instead of creating a parent uri only to concat the filename to. (do_move): Call folder_set_name() after folder_make_user_private() just in case. * modules/vfolder/vfolder-info.c (integrate_writedir_entry_changed): Call entry_set_dirty() on the changed entry. (writedir_monitor_cb): Handle files with a .directory extension. * modules/vfolder/vfolder-common.c (folder_extend_monitor_cb): Handle extended subfolder deletion, and don't iterate child entries for changed/delete just lookup based on filename and compare URIs. (create_dot_directory_entry): Don't consider files user_private. (folder_reload_if_needed): Reset the entries and the non-user-private subfolders here. (folder_new): Set dirty to true for new folders. (folder_remove_subfolder): Don't blindly unref the child folder, instead unref the folder we know is our child. Set the removed child's parent to NULL. (folder_add_subfolder): Call folder_remove_subfolder() before adding, but ref first of all. 2002-08-14 Alex Graveley * modules/vfolder/vfolder-util.c (vfolder_untimestamp_file_name): Only remove one set of timestamp, in case we are copying the same file around multiple times. * modules/vfolder/vfolder-common.c (create_dot_directory_entry): Only add entry to folder if it does not contain one with the same name and a higher weight. (read_one_extended_entry): Ditto. (read_one_extended_entry): Ditto. (read_one_include): Ditto. * modules/vfolder/vfolder-method.c (do_remove_directory_unlocked): Remove check for hiddeness, as a recursive delete on a folder with will not allow the actual folder to be deleted once all its contents are removed. (do_unlink_unlocked): Only check result of file delete if parent is a linked directory, since if it fails we can still just remove it from the .vfolder-info. (do_read_directory): Skip to next entry if getting the real file's info fails. * modules/vfolder/vfolder-common.c (read_one_include): Untimestamp included files that originate in the writedir. (folder_remove_entry): Only unref the existing entry, instead of assuming the one we are removing is the same. (folder_add_entry): Ref before calling folder_remove_entry, in case we hold the only ref. * modules/vfolder/preferences-all-users.vfolder-info.in: Set the WriteDir to @vfolderdir@/preferences-all-users. * modules/vfolder/applications-all-users.vfolder-info.in: Set the WriteDir to @vfolderdir@/applications-all-users. * modules/vfolder/Makefile.am (VFOLDER_INFO_CREATE): Translate @vfolderdir@ in .vfolder-info.in files as $(sysconfdir)/gnome-vfs-2.0/vfolders. * modules/vfolder/vfolder-info.c (vfolder_info_find_filenames): Check for system-global file first, then user-local, then try copying the system-default file. This allows administrator override of editing. Remove default WriteDir. (create_itemdir_entry): Don't create ItemDir/MergeDir entries as user-private, because we probably don't really want them deleted/edited. (read_vfolder_from_file): Don't bother creating ItemDir struct to monitor writedirs, since I don't think we actually care about the results. 2002-08-12 Alex Graveley * modules/Makefile.am (modules_LTLIBRARIES): Remove libdesktop.so. * modules/default-modules.conf: Use libvfolder-desktop.so instead of libdesktop.so. * modules/desktop-method.c: Delete in favor of vfolder-based impl. * modules/vfolder/Makefile.am (vfolder_DATA): Install favorites.vfolder-info, start-here.vfolder-info, server-settings.vfolder-info, and system-settings.vfolder-info. * modules/vfolder/favorites.vfolder-info.in: * modules/vfolder/start-here.vfolder-info.in: * modules/vfolder/server-settings.vfolder-info.in: * modules/vfolder/system-settings.vfolder-info.in: New vfolder info files to support the vfs methods currently handled by desktop-method.c 2002-08-12 Alex Graveley * modules/vfolder/vfolder-info.c (find_replacement_for_delete): For correctness, only call set_mergedir_entry_keywords() if id_next is a MergeDir. (itemdir_monitor_handle): Ditto. (itemdir_monitor_cb): Don't handle events other than CHANGED for the WriteDir, since if we care about them the .vfolder-info should be updated and reread, instead of us trying to guess where they go. (vfolder_info_find_filenames): Load user-private, else try copying system-default to user-private, else try using system-global .vfolder-info directly, else fall back to empty user-private .vfolder-info. Fixes bug #90202. 2002-08-09 Alex Graveley * modules/vfolder/vfolder-method.c (do_remove_directory_unlocked): Always unconditionally the deleted folder name, in case the folder is overrriding a system one. (do_unlink_unlocked): Always exclude the deleted entry's displayname, for the same reasons. 2002-08-09 Alex Graveley * modules/vfolder/vfolder-info.c (set_mergedir_entry_keywords): Abstract the MergeDir keyword adding to here. (create_mergedir_entry): Call set_mergedir_entry_keywords(). (find_replacement_for_delete): Take an entry which this mmanipulates directly. Make sure to load up MergeDir keywords for the replaced file on the existing entry. Set the entry weight to that of the ItemDir where we are finding our replacement. (itemdir_monitor_handle): Set weight and load MergeDir keywords when the CREATED entry has a higher weight than an existing one with the same name. (check_monitors_foreach): Don't emit events for folders, since we can't be sure all the entries have been allocated yet. * modules/vfolder/vfolder-common.c (entry_make_user_private): Set the weigth to 1000 so no other entries will override us. (entry_set_weight): Impl. 2002-08-09 Alex Graveley * modules/vfolder/vfolder-method.c (fill_file_info_for_directory): Copy code for filling a GnomeVFSFileInfo with a directory's properties to here from get_file_info_internal(). (get_file_info_internal): Make child a pointer to a FolderChild, not pass-by-value. (do_get_file_info_from_handle): Use get_file_info_internal(), and be sure to read lock the info. * modules/vfolder/vfolder-info.c (vfolder_info_read_info): Don't forget to add the moniitor for the root directory, as directory_visit doesn't call create_entry_directory_visit_cb() for the starting directory. (itemdir_monitor_cb): If the file matches the monitored uri, ignore since we only care about events from our children. Don't set the Vfolder to loading, since we want events to actually be sent. Check the child filename in question is not hidden. 2002-08-08 Alex Graveley * modules/vfolder/vfolder-method.c (do_create): Don't Forgot to write unlock when returning from a failed parent directory creation. (dir_handle_new): Don't hold a read lock here, otherwise directory deletion deadlocks as nautilus traverses the files and deletes them one by one. (dir_handle_new_all): Ditto. (dir_handle_free): Don't read unlock, to match above. (get_file_info_internal): Abstract the GnomeVFSFileInfo filling to here to share code between do_read_directory() and do_get_file_info(). (do_read_directory): Acquire read lock while reading the next entry. (do_make_directory): Add check to block against trying to create the root folder, which always exists. Don't forget to write unlock if make_directory fails for a link folder's actual destination. (do_remove_directory_unlocked): Don't write unlock here, since this is an _unlocked function :-) (do_unlink_unlocked): Only add exclude for displayname if file is not user-private. (do_create_symbolic_link): Use GNOME_VFS_FILE_INFO_FOLLOW_LINKS when stat'ing our target link, as we need to be able to tell if the destination is really a directory. * modules/vfolder/vfolder-info.c (filename_monitor_handle): Move code from filename_monitor_cb, so we can be called from the filename event timeout handler. (filename_monitor_cb): For delete events set a 2 second delay before processing .vfolder-info files, for create a .5 second delay and process change events instantly. * modules/vfolder/vfolder-common.c (entry_make_user_private): Clean up include/exclude handling. Exclude current displayname, remove include for current filename, and add include for new filename. (read_one_include): Simplify include loading, don't try to futz with untimestamping filenames, handle include with just a filename and not a full uri. * modules/vfolder/applications-all-users.vfolder-info.in: Don't include sep.desktop. 2002-08-08 Alex Graveley * modules/vfolder/vfolder-method.c (do_unlink_unlocked): Call folder_remove_include() if the entry is user-private, so we don't leave old tags around. * modules/vfolder/vfolder-info.c (itemdir_free): g_slist_free() monitor list. (vfolder_info_write_user): Check filename monitor exists before trying to freeze/thaw it. This should fix bug #90160. (integrate_entry): Skip folders. Emit a monitor event based on the outcome here. (itemdir_monitor_handle): Update info->modification_time. Fix botched relative path handling on create events. (itemdir_monitor_cb): Fix typo causing double write lock instead of an unlock. Doh :) (copy_user_default_file): Call vfolder_make_directory_and_parents() before trying to copy the default .vfolder-info file. * modules/vfolder/vfolder-common.c (folder_emit_changed): Make non-static. Add some monitor-related debugging g_prints. 2002-08-06 Alex Graveley * modules/vfolder/vfolder-util.c (vfolder_monitor_freeze): Use gnome_vfs_monitor_cancel instead of setting a freeze flag, because the events can arrive after the flag has been reset, causing unneccessary .vfolder-info reads. (vfolder_monitor_thaw): Use gnome_vfs_monitor_add() to add the monitor back. * modules/vfolder/vfolder-method.c (do_create): Create entry with highest weight (1000). (dir_handle_new): Read lock info on DirHandle creation. Use new folder_list_children(). (dir_handle_free): Read unlock info. (do_move): Only delete directory if source and destination folders are different. (do_create_symbolic_link): Impl. Support creation of symbolic links to direcctories by creating a new directory with a tag. (do_monitor_add): Use a read lock instead of write lock because we don't want to write out changes after creating a new monitor. (do_monitor_cancel): Ditto. * modules/vfolder/vfolder-info.c (folder_read): Escape directories beginning with '~'. Unref the child folder after adding it as a subfolder. (read_vfolder_from_file): Ditto, but for ItemDir, MergeDir, WriteDir, and DesktopDir. (itemdir_new): Take weight and untimestamp_files parameters. The first is the weight which will be assigned to entries created from this folder, the second is for WriteDirs, so filenames are displayed without the timestamp. Add ourselves to the info's item_dirs list. (itemdir_free): Free the list of monitors on subdirs of this ItemDir. (create_itemdir_entry): Refactor entry creation for dirs. Add a monitor to the ItemDir struct if the child is a dir, so that we are informed of changes in subfolders. (create_mergedir_entry): Use create_itemdir_entry() to create the entries for dirs, and add keywords by splitting up the relative path and matching against the known list of dir names. (create_entry_directory_visit_cb): directory_visit callback which creates entries based on the type of ItemDir. (vfolder_info_read_info): After reading .vfolder-info, foreach ItemDir call gnome_vfs_directory_visit() so we can create all the entries. (vfolder_info_write_user): Write XML to temporary file then use gnome_vfs_move to move to the config filename, in order to minimize listeners getting libxml parse errors from empty .vfolder-info files. (find_replacement_for_delete): Impl. Look for a like-named replacement for a file which has been deleted. (integrate_entry): Impl. Conditionally traverse and replace all entries with the same name and a lower weight, after rechecking that the new entry matches the folder's query. (itemdir_monitor_handle): Impl. Handling monitor events on ItemDirs by either updating or replacing existing entires, then integrate with all folders using integrate_entry(). (vfolder_info_find_filenames): Complexify the .vfolder-info filename finding code by first checking the standard user location, and then if it doesn't exist copying a system default file to the standard location. This allows for overrides and additions of things in the -all-users.vfolder-info file, such as preferences:// and favorites:///. (filename_monitor_cb): Correctly handle .vfolder-info filename events by looking at the requested monitors, and if they monitor a directory, constructing a list of that directory's children. Then free all the folder/entry resources and reread the .vfolder-info configuration file. Then trave trhough the list we created and check if the folders and their children still exist (if not, then send a DELETED event to the monitor), and then send CREATED events for any new children. * modules/vfolder/vfolder-common.h: Clean out specific monitors from VFolderInfo, as they are all handled as ItemDirs now. * modules/vfolder/vfolder-common.c (entry_new): Accept a weight, which can be used to tell if a given Entry is more important than another based on load order. (entry_reload_if_needed): Copy implicit keywords lists when reloading so we don't lose the MergeDir keywords. (entry_get_weight): Return weight. (entry_add_implicit_keyword): Add Quark to implicit_keywords as well as keywords. (folder_new): Take user_private as a parameter. (folder_extend_monitor_cb): Handle monitor events from our extend_uri correctly by refreshing, deleting, or creating child entries. (create_dot_directory_entry): Move code to create a ".directory" entry here from vfolder-info.c (read_includes): Create entries with highest weight (1000). (read_one_extended_entry): Pass 900 as weight for created entries. Create folders as non-user-private. (folder_reload_if_needed): Start monitoring the extend_uri here, to cut down on unneeded events (folder_emit_changed): Take a child argument, which emits the given event with the uri of the named folder child. (folder_set_extend_uri): Cancel the extend_monitor here. (folder_set_desktop_file): Don't set the folder dirty. (folder_list_children): Impl. Copies all the folder children's names into a list, moved from vfolder-method.c. (folder_get_subfolder): Don't ref the returned folder. (folder_remove_subfolder): Don't modify includes/excludes here, but let the caller do it. Don't set the parent folder to dirty. (folder_add_subfolder): Don't emit monitor changes here, let our caller do it. 2002-07-29 Alex Graveley * modules/vfolder/vfolder-info.c: Add WordProcessing->Office and Toys->Utility keyword mapping. These are two top-level KDE menus. * modules/vfolder/applications-all-users.vfolder-info.in: Use for Preferences, so changes get written out to preferences-all-users:///. 2002-07-29 Alex Graveley * modules/vfolder/vfolder-util.c (vfolder_escape_home): Impl, if the filename starts with '~', escape with home directory. * modules/vfolder/vfolder-method.c Support is_link folders thoughtout. Probably buggy. (do_create_symbolic_link): Impl, support creating "symbolic links" to directories using the element. * modules/vfolder/vfolder-info.c (folder_read): Support ParentLink elements, which means all changes to a directory are forwarded to the parent, and not a private copy in the WriteDir. (itemdir_new): Use vfolder_escape_home(). (read_vfolder_from_file): Ditto. (add_xml_tree_from_folder): Store parent as if is_link is set. (vfolder_info_reset): Reset the flags. (copy_user_default_file): Impl. Copies the scheme.vfolder-info-default to scheme.vfolder-info in the user's .vfolder-info dir. (vfolder_info_init): Split filename choosing out to vfolder_info_find_filenames. * modules/vfolder/vfolder-common.h: Use one bit allocation for flags. Rename inhibit_write to loading in VFolderInfo. Add is_link to Folder. Turn off debugging. * modules/vfolder/vfolder-common.c (read_extended_entries): Call read_one_extended_entry() for each file. (read_info_entry_pool): Call read_one_info_entry_pool() for each entry in the entry pool. * modules/vfolder/Makefile.am (EXTRA_DIST): Installed vfolder-info files are now applications-all-users.vfolder-info, preferences-all-users.vfolder-info, and applications.vfolder-info-default. 2002-07-26 Alex Graveley * modules/vfolder/test-vfolder.c (main): Use putenv() as setenv() is not portable to Solaris. 2002-07-26 Alex Graveley * modules/vfolder/vfolder-util.c (monitor_timeout_cb): Fix reentrency by copying the stat_monitors list, and checking each VFolderMonitor is still in the list while iterating. * modules/vfolder/vfolder-method.c (do_open): Handle all-scheme by loading the FolderChild manually. (dir_handle_new_all): ret->list is a list of entry names, not Entry pointers. (do_read_directory): Handle all-scheme. (do_get_file_info): Ditto. Also, handle a NULL parent folder for all-scheme. (do_remove_directory_unlocked): New, unlocked version of do_remove_directory. (do_remove_directory): Wrap do_remove_directory_unlocked() with a lock. (do_unlink_unlocked): New, unlocked version of do_unlink. (do_unlink): Wrap do_unlink_unlocked() with a lock. (do_move): Fix some logic bugs, use _unlocked versions of unlink and remove_directory, only make the moved file user-private if the displayname has changed. * modules/vfolder/vfolder-info.c (vfolder_info_write_user): Freeze and thaw the filename_monitor while writing out the .vfolder-info, so we don't trigger our own reloads. (vfolder_info_set_dirty): just set info->dirty to true, instead of writing the .vfolder-info out every time. * modules/vfolder/vfolder-common.h (VFOLDER_INFO_WRITE_UNLOCK): Call vfolder_info_write_user() before unlocking, so we batch .vfoldeer-info file writes. * modules/vfolder/vfolder-common.c (entry_reload_if_needed): Add basic support for a "Deprecates" keyword, to allow differently named .desktop files to replace one-another. (read_includes): Read and load the explicit includes here, so we can support including arbitrary URLs, not just extended/pool entries. (is_excluded): New, check the displayname and filename for includability. (folder_reload_if_needed): Call read_includes. (folder_add_include): remove_exclude here. (folder_add_exclude): remove_include here. 2002-07-25 Alex Graveley * modules/vfolder/test-vfolder.c (main): NULL term g_build_filename(). Use putenv() which is more portable than setenv(). 2002-07-24 jacob berkman * modules/vfolder/Makefile.am (libvfolder_desktop_la_LIBADD): point to $(top_builddir) and not a relative path 2002-07-24 Alex Graveley * modules/vfolder/vfolder-method.c (dir_handle_new): Match with folder query for OnlyUnallocated folders when listing contents. (do_make_directory): Handle existing but hidden folder by removing DontShowIfEmpty. * modules/vfolder/vfolder-common.c (folder_is_hidden): Match with folder query for OnlyUnallocated folders, which clears out the Other menu somewhat. * modules/vfolder/vfolder-info.c (get_folder_for_path_list_n): return NULL if parent folder is hidden. * modules/vfolder/test-vfolder.c (test_vfolder_ops): Fix some bad args to gnome-vfs, implement test #6 and #7. 2002-07-23 Alex Graveley * modules/vfolder/vfolder-util.c (vfolder_build_uri): Rip off of g_build_filename, but which handles the first element being a uri scheme://. * modules/vfolder/vfolder-method.c: Use vfolder_build_uri(). * modules/vfolder/vfolder-info.c: Use vfolder_build_uri(). * modules/vfolder/vfolder-common.c: Use vfolder_build_uri(). 2002-07-22 Alex Graveley * modules/vfolder/vfolder-common.c (read_extended_entries): Use g_build_filename(). 2002-07-22 Alex Graveley * modules/vfolder/vfolder-method.c (do_create): Uniquely timestamp filename if there is a writedir, otherwise use the folder's extended URI, otherwise give up. Ensure destination directory before creating. (do_get_file_info): Set permissions to read-only for ReadOnly folders. * modules/vfolder/vfolder-info.c: Add some keywords so ximian menus get organized nicely. (create_entries_from_itemdir): Allow stripping of timestamp at beginning of file if we are reading from the WriteDir. (vfolder_info_read_info): Pass TRUE for user_private so folders are persisted correctly. (vfolder_info_read_info): Strip timestamps from filenames for WriteDir and not from ItemDir. (vfolder_info_write_user): Make directory and parents before saving file. (vfolder_info_init): Allow overwriting of WriteDir and directory containing .vfolder-info files from environment variables. * modules/vfolder/vfolder-common.c (entry_make_user_private): Ensure write directory is created before xferring file. Uniqueify filename, to avoid naming conflicts. Fail if there is no filename. Exclude the old displayname, and include the new timestamped one. Take the parent folder as an arg so we can manage the Includes/Excludes. (entry_set_filename): Free entry->uri on change. (read_extended_entries): Check include/exclude against full uri and filename. * modules/vfolder/test-vfolder.c: New, loads and performs operations on the test-vfolder:/// uri. Still needs a few more tests implemented to be complete. * modules/vfolder/test-vfolder.vfolder-info.in: New, .vfolder-info file used by test-vfolder. * modules/vfolder/test-vfolder-parent.vfolder-info.in: New, .vfolder-info file used by test-vfolder. * modules/vfolder/test-vfolder-modules.conf: Created, vfs module description used by test-vfolder. * modules/vfolder/applications.vfolder-info.in: Merge in ximian menus, as they add some sanity. On the root folder, Exclude gmc, nautilus-help, and gnome-help, Include evolution & galeon. Remove silly rule on root folder causing root entries from GNOME1 to not be shown. Remove silly rule about hiding "System" entries from the Accessories menu. * modules/vfolder/TODO: Update. * modules/vfolder/Makefile.am (test_vfolder_SOURCES): Build test-vfolder, and generate test-vfolder-parent.vfolder-info & test-vfolder.vfolder-info. 2002-07-18 Damon Chaplin * modules/vfolder/vfolder-common.c (folder_emit_changed): for the root folder pass "/" as the uri rather than NULL. 2002-07-18 Damon Chaplin * modules/vfolder/vfolder-common.c (entry_quick_read_keys): oops. didn't need to add '\0' to a GString. That was silly. 2002-07-18 Damon Chaplin * modules/vfolder/vfolder-common.c (entry_quick_read_keys): init *result1 & *result2 to NULL, in case there is an error reading the .desktop file. (Some of my X11 .desktop files are not readable by me, so that caused a problem here.) Also append '\0' to the GString, so we can use it like a normal string. These 2 fixes seem to fix the corruption problems I was having. 2002-07-18 Alex Graveley * modules/vfolder/vfolder-common.c (folder_get_child): Don't call vfolder_info_lookup_entry here for only_unallocated folders, let folder_get_entry() do it. 2002-07-17 Alex Graveley * modules/vfolder/vfolder-info.c (vfolder_info_locate): Wrap load_folders in an inhibit_write, so the vfolder info file doesn't get written out as we create new extended folders. 2002-07-17 Alex Graveley * modules/vfolder/vfolder-info.c (read_vfolder_from_file): Don't free default itemdirs/mergedirs since they are now pulled from GNOME2_PATH. * modules/vfolder/vfolder-common.c (read_extended_entries): Put the '/' in the right place between dirname and filename. (read_extended_entries): Remove extraneous entry_set_filename(). 2002-07-17 Damon Chaplin * modules/vfolder/vfolder-common.c (entry_reload_if_needed): store the value returned from g_slist_prepend(). Fixes bug #88132. 2002-07-17 Alex Graveley * modules/vfolder/vfolder-method.c (do_create): If there is a write dir, then the parent folder's URI, otherwise read-only. * modules/vfolder/vfolder-common.c (entry_quick_read_keys): Free fullbuf even if empty. (entry_make_user_private): Use g_build_filename, not g_build_path. Return success if there is no WriteDir. (folder_unref): Dealloc entries as well as unref. Dealloc any entries which we Excluded. (read_info_entry_pool): Alloc excluded files. * modules/vfolder/applications.vfolder-info.in: Add some defaults, so we don't rely on mandatory defaults from vfolder_info_init(). Spell "Accessories" correctly. Remove the duplication of the preferences-all-users:/// vfolder layout, and just make it the of the Preferences folder. * modules/vfolder/vfolder-info.c (vfolder_info_init): Remove the default itemdir/writedir/desktopdir; just listen to the config file. Use GNOME2_PATH as a bunch of prefixes for itemdirs. 2002-07-16 Alex Graveley * modules/vfolder/ABOUT: Add file describing the vfolder architecture somewhat. 2002-07-15 Frederic Crozat * test/test-uri.c: (main): Fix test, due to canonization change 2002-07-13 Peteris Krisjanis * configure.in - (ALL_LINGUAS) Added support for Latvian (lv) language. 2002-07-12 Rohit R Laavanya K R * modules/file-method.c (do_find_directory): modified the code so as to create the .Trash directory with permissions 0700 only. Fixes bug #46475. 2002-07-12 Alex Graveley * modules/vfolder/vfolder-info.c (read_vfolder_from_file): Load mergedirs and itemdirs to the same list, so we retain load order. (itemdir_new): Add is_mergedir arg. 2002-07-12 Alex Graveley * modules/vfolder/vfolder-method.c (do_unlink): Exclude based on displayname, not filename. (do_create): Include based on displayname, not filename. * modules/vfolder/vfolder-common.c (read_info_entry_pool): Check include/exclude against entry's displayname, note full filename. 2002-07-12 Alex Graveley * modules/vfolder/vfolder-info.c (vfolder_info_destroy): Call vfolder_info_reset. (vfolder_info_reset): Implement. Free everything except scheme, requested_monitors, and rw_lock. (filename_monitor_cb): Call vfolder_info_reset() then vfolder_info_read_info() to reload everything from scratch. (write_dir_monitor_cb): Ditto. * modules/vfolder/vfolder-common.c (entry_quick_read_keys): Fix to not expect fgets() type strings. (entry_set_dirty): Set a dirty flag, instead of always reloading. (entry_set_filename): Set entry dirty. (entry_add_implicit_keyword): Set entry dirty. (entry_get_keywords): Call entry_reload_if_needed(), in case the entry is dirty. 2002-07-11 Alexander Larsson * modules/file-method.c (get_stat_info, do_open): Correctly set O_TRUNC in do_open. Fix uninitialized memory read bug with symlinks in get_stat_info. 2002-07-11 Alex Graveley * modules/vfolder/vfolder-info.c (vfolder_info_init): Free base_scheme. * modules/vfolder/vfolder-util.c (vfolder_monitor_cancel): Free monitor->uri. * modules/vfolder/applcations.vfolder-info: Spell Accessories correctly. 2002-07-10 Alex Graveley * modules/vfolder/vfolder-method.c (dir_handle_new): Fix typo, handle unallocated folders, sorting, and the entry display name being different from the source file's. * modules/vfolder/vfolder-common.c: Redo lots of things here. Notably fixes folder and entry dirtying, and dir loading fixups. * modules/vfolder/vfolder-info.c: Implement missing featues: like correct .directory file handling and, implicit mergedir keywords, and client monitors. * modules/default-modules.conf (all-applications): Add applications-all-users: and preferences-all-users: methods to allow access to system-global vfolders, to allow administrator changes and folder extension. === end merge changes from gnome-vfs-2-0-vfolder-rewrite branch === 2002-08-16 Arvind Samptur * modules/cde-desktop-method.c: Removing Comment field from the desktop files. Fixes #88484 Re-doing this patch as Hidetoshi's patch to fix menus to correctly translate to utf-8 had knocked it off. 2002-08-15 Michael Meeks * modules/file-method.c (read_saved_cached_trash_entries): code should agree on the size of the buffer and how much to read into it. (find_trash_directory): hold a lock on the trash cache while operating on it. #10438 Thu Aug 8 11:26:03 2002 HideToshi Tajima * modules/cdemenu-desktop-method.c (expand_env_vars): get LC_CTYPE from setlocale when no LC_CTYPE environment variable is set. Fixes #86462 * modules/cdemenu-desktop-method.c (get_icon_for_action): use /usr/dt/appconfig/icons/C for fallback to avoid returning "ICON=NONE" which makes gnome-panel crash in many locales. * modules/cdemenu-desktop-method.c (do_open): Patch to fix the cde menus to correctly translate to utf-8, originally by George Lebl Fixes #84074 merged changes back from the gnome-2-0 branch 2002-08-08 jacob berkman * modules/Makefile.am (module_flags): add -module flag (fixes building on OS X) * modules/cdemenu-desktop-method.c (expand_env_vars): fix some broken logic to make cde menu work when $LANG is not set (fixes bug #87684) 2002-08-07 Dave Camp * modules/fstype.c (filesystem_type): Use g_free to free the g_strduped string. 2002-08-05 Federico Mena Quintero Should fix #48539. * modules/fstype.c (filesystem_type_uncached): Merged fix from GNU findutils-4.1.7; return a copied string instead of a pointer to a string on the stack... (filesystem_type): Free the string we got when we must cache a new value. 2002-08-05 Michael Meeks * libgnomevfs/gnome-vfs-mime-info.c (reload_if_needed): forward port Jody's fix for the 5s problem. 2002-02-29 Arvind Samptur * modules/cde-desktop-method.c: Removing Comment field from the desktop files. Fixes #88484 * modules/cde-desktop-method.c (do_read_directory): REALLY ignore CDE specific actions that make no sense in GNOME Patch by Stephen Browne. Fixes #88483 2002-07-27 Ian McKellar * libgnomevfs/gnome-vfs-cancellable-ops.c: (gnome_vfs_read_cancellable), (gnome_vfs_write_cancellable): Check for NULL bytes_(read|written), pass in dummy pointer. 2002-07-26 Ian McKellar * libgnomevfs/gnome-vfs-xfer.c: (copy_file): Fixed up gnome-vfs-xfer problem pointed out by Josh Parsons. My fix is slightly different than his proposed fix but the spirits the same. 2002-07-25 Dave Camp * libgnomevfs/gnome-vfs-inet-connection.c (gnome_vfs_inet_connection_read): Return EOF if 0 bytes were read. 2002-07-25 Michael Meeks * libgnomevfs/gnome-vfs-init.c (gnome_vfs_pthread_init, gnome_vfs_init): init threads if we have to before taking the vfs_already_initialized lock - makes Valgrind happy; thanks to Julian Seward. 2002-07-25 Laszlo Peter reviewed by Michael Meeks * configure.in: added test for libpopt * test/Makefile.am: link libpopt to the test programs. 2002-07-25 Pablo Saratxaga * configure.in: Added Bosnian (bs) to ALL_LINGUAS 2002-07-24 Frederic Crozat * test/Makefile.am: add auto-test to EXTRA_DIST (otherwise make check fails with tarball) 2002-07-24 Michael Meeks * libgnomevfs/gnome-vfs-job.c (gnome_vfs_job_go): dump debug before scheduling the job, rather than when job might be invalid. (handle_cancelled_open): don't do daft things with re-using the original job, and trying to signal strangely to the caller. (dispatch_job_callback): expand switch for CREATE_SYMBOLIC_LINK test for a valid handle before destroying it here, since it wasn't killed at the exit of gnome-vfs-job-slave.c (thread_routine). (execute_read, execute_write): set the op type to READ_WRITE_DONE here before job might be invalid. (gnome_vfs_job_execute): and not here, when it may be duff / freed. * libgnomevfs/gnome-vfs-async-ops.c (gnome_vfs_async_xfer): set handle_return before calling job_go [ which may invalidate job ] * libgnomevfs/gnome-vfs-job.c (job_notify): prune semaphore mess. (gnome_vfs_job_set): lock/unlock. 2002-07-23 Michael Meeks * test/test-async-cancel.c (file_open_callback): move the async_read into the open_callback. * libgnomevfs/gnome-vfs-job.c (empty_close_callback): kill. * libgnomevfs/gnome-vfs-job-queue.c (job_queue_get_first): don't foreach a NULL job_queue. 2002-07-23 Michael Meeks * libgnomevfs/gnome-vfs-async-job-map.c (async_job_callback_map_destroy): don't assert on the idly built async_job_callback_map. * libgnomevfs/gnome-vfs-job-slave.c (thread_routine): always destroy the VFS job, if we are complete, instead of checking for whether we have a callback still registered in the job map, therein lies a race. * libgnomevfs/gnome-vfs-job.c (job_oneway_notify, job_notify): don't leak on cancel. (gnome_vfs_job_destroy): blank the memory for good measure. * libgnomevfs/gnome-vfs-async-job-map.c (gnome_vfs_async_job_map_unlock), (gnome_vfs_async_job_map_lock): cope with the recursive nature of this properly. * libgnomevfs/gnome-vfs-job-queue.c (gnome_vfs_job_queue_shutdown): try locking the job_queue lock before destroying the entire tree, sob. (gnome_vfs_job_queue_run): kill black magic with volatile 'gnome_vfs_quitting' stuff, we don't need that - just hold the job queue lock. * test/test-async-cancel.c (wait_until_vfs_jobs_gone): eliminate follow on error, so we can try and isolate problems more accurately. (test_get_file_info): don't leak URIs in lists. (main): if memprof is running, don't quit just loop. 2002-07-19 Frederic Crozat * configure.in: don't set OPENSSL_CFLAGS if it is "/usr/include", otherwise gcc >= 3.1 issues a warning. 2002-07-19 Frederic Crozat * modules/ssh-method.c: (ssh_connect): Fix bug 88539 (leaking ssh processes) by using g_spawn_async_with_pipes 2002-07-17 Michael Meeks * test/auto-test: re-write. * test/Makefile.am: connect auto-test, upd env. * test/test-async-cancel.c (MAX_THREAD_WAIT): bump the thread wait for my poor old machine. 2002-07-16 Michael Meeks * libgnomevfs/gnome-vfs-async-job-map.c: re-arrange to ensure the locks protect the bits they are supposed to. Kill the volatile things assert on. 2002-07-16 Michael Meeks * libgnomevfs/gnome-vfs-thread-pool.c (thread_list_locks): don't use a recursive mutex. debug print thread pointer not pthread id. * libgnomevfs/gnome-vfs-method.c (init_hash_table, init_path_list): don't take fine grained locks here. (gnome_vfs_method_init): take a lock here instead. (gnome_vfs_add_module_to_hash_table): hold the lock for longer, to avoid nasty races, change sig. (gnome_vfs_method_get): upd / simplify / speedup. (gnome_vfs_transform_get): ditto. * libgnomevfs/gnome-vfs-module-callback.c (stack_keys_alloc): kill in favour of (gnome_vfs_module_callback_private_init): this. (initialize_per_thread_if_needed): upd. (async_callback_response): broadcast instead of signalling, there might be multiple threads waiting. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_pthread_init): upd. (gnome_vfs_init): here. (gnome_vfs_postinit): ensure we do it here too & re-order. 2002-07-15 Michael Meeks * libgnomevfs/gnome-vfs-thread-pool.c (gnome_vfs_thread_create): kill unused thread argument (new_thread_state): port to g_thread. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): use g_thread_init not gnome_vfs_pthread stuff. (gnome_vfs_postinit): ditto. * libgnomevfs/Makefile.am: remove gnome-vfs-pthread.[ch] * *.[ch]: switch pthread -> g_thread stuff, mostly a sed. 2002-07-12 Michael Meeks * libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_cancel), (gnome_vfs_cancellation_ack): only write if we have a pipe. (gnome_vfs_cancellation_get_fd): idly create the pipes, return -1 on error. (gnome_vfs_cancellation_new): init the pipe fds to -1 * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): move pthread_init up the order. If we don't do this we create a default main context, without the 'wake_up_pipe' initialized, which means that anyone doing a plain gnome-init has a '0' wake_up_pipe by the time they need to write / read to it. This means you see an 'A' on the console and have to hit enter before getting any async callbacks. * libgnomevfs/gnome-vfs-job.h (JOB_DEBUG_PRINT): make more standard. * test/test-async.c (async_queue_callback): impl. (main): hammer the async queue to test efficiency. re-hash lots of this. 2002-07-15 Frederic Crozat * libgnomevfs/gnome-vfs-uri.c: (set_uri_element): canonize NULL uri into "/". "start-here:" will now be canonized into "start-here:///", fixing some monitoring problem in nautilus * test/test-uri.c: (main): Fix test due to canonization change 2002-07-11 Michael Meeks * libgnomevfs/gnome-vfs-mime-info.c (load_type_info_from): use g_string_truncate for a 20% speedup. (APPEND_CHAR): inline more for another 20%. * test/test-mime.c (main): add --speedTest for mime info reloading. 2002-07-07 Seth Nickell * libgnomevfs/gnome-vfs-method.gob: Ahem. Getting built accidentally. Not a good thing. Replacing decent clean files. 2002-07-05 Stephen Browne * modules/cdemenu-desktop-method.c Patch from rohit.raveendran@wipro.com modified the code so that the function create_cde_icon_name_cache creates the file g-cdeiconnames with permissions 644 in .gnome directory in the users home directory. Fixes #87267 2002-06-27 Michael Meeks * modules/vfolder-desktop-method.c (try_free_file_monitors_create_files_unlocked): use ensure_folder_unlocked to avoid deadlock. (rescan_monitors): ditto. #84910 2002-06-25 Jody Goldberg * libgnomevfs/gnome-vfs-mime.c (file_date_record_update_mtime) : track monitor files even if they do not exist at start up. That way we can notice the first user defined mime type is added. (mime_fill_from_file) : ditto. (mime_load) : don't ignore the unborn files just because their parent dir does not exist yet. 2002-06-25 Damon Chaplin * libgnomevfs/gnome-vfs-async-job-map.c (gnome_vfs_async_job_map_init): initialize the async_job_callback_map_lock mutex here, instead of in gnome_vfs_async_job_add_callback(), so we can use it even when async_job_callback_map is NULL. (gnome_vfs_async_job_add_callback): lock the above mutex before checking & creating the async_job_callback_map hash table, to avoid a tiny race condition. (gnome_vfs_async_job_cancel_job_and_callbacks): lock the above mutex first and set job->cancelled. Previously it was just returning if async_job_callback_map was NULL, which meant that job->cancelled didn't get set. (async_job_callback_map_destroy): don't destroy the async_job_callback_map_lock mutex here. We keep it around forever. Fixes bug #74189. 2002-06-21 Seth Nickell * doc/tmpl/gnome-vfs-method.sgml: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-standard-callbacks.h: * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-xfer.h: Pad every struct by at least two "void *"s to avoid future breaks in ABI compatibility. When we already know we're going to have to add fields to a struct, and can forsee needing extra, pad by a little more (notable GnomeVFSFileInfo). * modules/ssh-method.c: Fix compilation problem on Solaris. * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/Makefile.am Add gnome-vfs-types.h back in. 2002-06-21 Stephen Browne * modules/cdemenu-desktop-method.c (find_all_included_files): fix for bug #84967. Patch from ghee.teo@sun.com 2002-06-21 Michael Meeks * configure.in: bin GTK_REQUIRED, upd. BONOBO_REQUIRED and ORBIT_REQUIRED, bonobo-activation-required. #80244 2002-06-13 Glynn Foster * docs/vfolder-info-spec.dtd: Remove some confusing whitespace so you can see where the comments are directed. 2002-06-17 Damon Chaplin * libgnomevfs/gnome-vfs-monitor.c (gnome_vfs_monitor_do_add): if the monitor_add call fails, return NULL as the handle. It was returning a pointer to freed memory before. Fixes bug #84693. Approved by Ian McKellar. 2002-06-17 Seth Nickell * libgnomevfs/gnome-vfs-method.gob: Formatting improvements. 2002-06-17 Seth Nickell * libgnomevfs/gnome-vfs-method.gob: Initial (non-working) pass at converting GnomeVFSMethods into a GObject. 2002-06-17 Seth Nickell * doc/tmpl/gnome-vfs-context.sgml: Add a short description of GnomeVFSContext. * libgnomevfs/gnome-vfs-init.c: Fix documentation for gnome_vfs_is_primary_thread() * libgnomevfs/gnome-vfs-utils.c: Document several string escaping calls. 2002-06-17 Seth Nickell * HACKING: Clean up the hacking file, add comments on making sure any API changes are reflected in the documentation. 2002-06-17 Seth Nickell * libgnomevfs/gnome-vfs-application-registry.h: Document a few special key types. * libgnomevfs/gnome-vfs-async-ops.c: * libgnomevfs/gnome-vfs-async-ops.h: Document all the AsyncCallbacks. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-monitor.c: * libgnomevfs/gnome-vfs-mime-utils.h: Finish documenting these files. * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-utils.h: Add documentation for a few data types. * libgnomevfs/gnome-vfs-xfer.h: Improve documentation of Xfer data types and enumerations. 2002-06-16 Seth Nickell * doc/tmpl/gnome-vfs-context.sgml: * libgnomevfs/gnome-vfs-context.c: (gnome_vfs_context_new), (gnome_vfs_context_free): * libgnomevfs/gnome-vfs-context.h: Remove "unref" and "ref" calls. Replace with "free". Document context. * doc/gnome-vfs-sections.txt: * libgnomevfs/gnome-vfs-async-ops.c: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-job.c: (gnome_vfs_op_destroy): * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new_private): * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-xfer.h: Finish URI documentation, document xfer, and some enums in file-info. 2002-06-16 Seth Nickell * doc/tmpl/gnome-vfs-async-ops.sgml: * doc/tmpl/gnome-vfs-inet-connection.sgml: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-standard-callbacks.h: * libgnomevfs/gnome-vfs-uri.h: More documentation. 2002-06-16 Seth Nickell * doc/gnome-vfs-sections.txt: * doc/tmpl/gnome-vfs-directory.sgml: * doc/tmpl/gnome-vfs-inet-connection.sgml: * doc/tmpl/gnome-vfs-iobuf.sgml: * doc/tmpl/gnome-vfs-socket-buffer.sgml: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-async-ops.c: (gnome_vfs_async_get_file_info), (gnome_vfs_async_find_directory): * libgnomevfs/gnome-vfs-directory.c: (gnome_vfs_directory_visit_files): * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-inet-connection.c: (gnome_vfs_inet_connection_to_socket), (gnome_vfs_inet_connection_to_socket_buffer): * libgnomevfs/gnome-vfs-inet-connection.h: * libgnomevfs/gnome-vfs-job-queue.c: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-socket-buffer.c: (gnome_vfs_socket_buffer_destroy), (gnome_vfs_socket_buffer_peekc): * libgnomevfs/gnome-vfs-socket-buffer.h: * libgnomevfs/gnome-vfs-socket.c: * libgnomevfs/gnome-vfs-ssl.c: (gnome_vfs_ssl_create): * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-utils.c: Bunch more documentation :-) * libgnomevfs/gnome-vfs-iobuf.c: * libgnomevfs/gnome-vfs-iobuf.h: Remove from GnomeVFS as they have the same functions as GnomeVFSSocketBuffer. * modules/ftp-method.c: (read_response_line), (do_control_write), (do_transfer_command), (end_transfer), (ftp_connection_create), (ftp_connection_destroy), (do_read), (do_write), (internal_get_file_info), (do_open_directory): * modules/nntp-method.c: (read_response_line), (do_control_write), (nntp_connection_create), (nntp_connection_destroy): * modules/nntp-method.h: Convert from iobuf to socket_buffer. 2002-06-16 Seth Nickell * libgnomevfs/gnome-vfs-metadata.gob: * libgnomevfs/gnome-vfs-monitor.h: * libgnomevfs/gnome-vfs-ops.c: Add some documentation for metadata and monitoring APIs. 2002-06-16 Seth Nickell * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: * doc/tmpl/gnome-vfs-async-ops.sgml: * doc/tmpl/gnome-vfs-job-limit.sgml: * doc/tmpl/gnome-vfs-mime-monitor.sgml: * doc/tmpl/gnome-vfs-ops.sgml: Merge some needless categories into ops and async-ops. 2002-06-16 Seth Nickell * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: Re-organize documentation, move stuff more fluidly between sections rather than relying so heavily on the (rather poor) header file organization. * doc/tmpl/application-registry.sgml: * doc/tmpl/async-ops.sgml: * doc/tmpl/cancellation.sgml: * doc/tmpl/context.sgml: * doc/tmpl/directory.sgml: * doc/tmpl/file-info.sgml: * doc/tmpl/file-size.sgml: * doc/tmpl/find-directory.sgml: * doc/tmpl/gnome-vfs-application-registry.sgml: * doc/tmpl/gnome-vfs-async-ops.sgml: * doc/tmpl/gnome-vfs-cancellation.sgml: * doc/tmpl/gnome-vfs-context.sgml: * doc/tmpl/gnome-vfs-directory.sgml: * doc/tmpl/gnome-vfs-file-info.sgml: * doc/tmpl/gnome-vfs-file-size.sgml: * doc/tmpl/gnome-vfs-find-directory.sgml: * doc/tmpl/gnome-vfs-inet-connection.sgml: * doc/tmpl/gnome-vfs-init.sgml: * doc/tmpl/gnome-vfs-iobuf.sgml: * doc/tmpl/gnome-vfs-job-limit.sgml: * doc/tmpl/gnome-vfs-metadata.sgml: * doc/tmpl/gnome-vfs-method.sgml: * doc/tmpl/gnome-vfs-mime-database.sgml: * doc/tmpl/gnome-vfs-mime-monitor.sgml: * doc/tmpl/gnome-vfs-mime.sgml: * doc/tmpl/gnome-vfs-module-callback-module-api.sgml: * doc/tmpl/gnome-vfs-module-callback.sgml: * doc/tmpl/gnome-vfs-module-shared.sgml: * doc/tmpl/gnome-vfs-module.sgml: * doc/tmpl/gnome-vfs-monitor.sgml: * doc/tmpl/gnome-vfs-ops.sgml: * doc/tmpl/gnome-vfs-parse-ls.sgml: * doc/tmpl/gnome-vfs-result.sgml: * doc/tmpl/gnome-vfs-socket-buffer.sgml: * doc/tmpl/gnome-vfs-socket.sgml: * doc/tmpl/gnome-vfs-ssl.sgml: * doc/tmpl/gnome-vfs-standard-callbacks.sgml: * doc/tmpl/gnome-vfs-transform.sgml: * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/gnome-vfs-uri.sgml: * doc/tmpl/gnome-vfs-utils.sgml: * doc/tmpl/gnome-vfs-xfer.sgml: * doc/tmpl/gnome-vfs.sgml: * doc/tmpl/handle.sgml: * doc/tmpl/inet-connection.sgml: * doc/tmpl/init.sgml: * doc/tmpl/iobuf.sgml: * doc/tmpl/method.sgml: * doc/tmpl/mime-handlers.sgml: * doc/tmpl/mime-info.sgml: * doc/tmpl/mime-monitor.sgml: * doc/tmpl/mime.sgml: * doc/tmpl/module-callback-module-api.sgml: * doc/tmpl/module-callback.sgml: * doc/tmpl/module-shared.sgml: * doc/tmpl/module.sgml: * doc/tmpl/ops.sgml: * doc/tmpl/parse-ls.sgml: * doc/tmpl/result.sgml: * doc/tmpl/ssl.sgml: * doc/tmpl/standard-callbacks.sgml: * doc/tmpl/types.sgml: * doc/tmpl/uri.sgml: * doc/tmpl/utils.sgml: * doc/tmpl/xfer.sgml: New templates... woo hoo. 2002-06-16 Seth Nickell * doc/Makefile.am: * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: * doc/tmpl/cancellable-ops.sgml: * doc/tmpl/configuration.sgml: * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/handle.sgml: * doc/tmpl/mime-magic.sgml: * doc/tmpl/mime-sniff-buffer.sgml: * doc/tmpl/module.sgml: * doc/tmpl/process.sgml: * doc/tmpl/uri.sgml: * doc/tmpl/xfer.sgml: Remove some unused sections, add labels to others. * doc/writing-modules.txt: Remove since its outdated by the SGML version. * libgnomevfs/gnome-vfs-handle-private.h: * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-handle.h: Split handle into a type declaration and a GnomeVFS-internal function declaration. The type needs to be installed (since a number of ops use Handles) but the functions for manipulating handles shouldn't be needed by either modules or library users. * libgnomevfs/gnome-vfs-cancellable-ops.c: * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-method.c: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_to_string): * libgnomevfs/gnome-vfs-utils.c: Document a bunch of functions. * libgnomevfs/Makefile.am: * libgnomevfs/check-headers.pl: Use noinst_HEADERS instead of including non-installed headers in the source. This makes it easier to find headers that should not be included in documentation. * libgnomevfs/gnome-vfs-types.h: Remove deprecated header. 2002-06-15 Seth Nickell * doc/tmpl/ops.sgml: * doc/tmpl/uri.sgml: * doc/tmpl/utils.sgml: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-init.c: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-utils.c: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.c: Document some 30 GnomeVFS functions, bringing our coverage to a miserable 54%. 2002-06-15 Seth Nickell * .cvsignore: * libgnomevfs/.cvsignore: Don't pay attention to weird GOB crap. * test/test-metadata.c: (main): Oops, forgot a cvs add. 2002-06-15 Seth Nickell * libgnomevfs/gnome-vfs-metadata.gob: Load XML properly using GnomeVFS rather than just from local files. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_read_entire_file): * libgnomevfs/gnome-vfs-utils.h: Add convenience function for reading in entire files (very useful for use with libxml). 2002-06-15 James Henstridge * modules/Makefile.am: link modules back against libgnomevfs-2.la 2002-06-15 Seth Nickell * HACKING: Clarify checkin policies. 2002-06-15 Seth Nickell Semi-working metadata code, landed as requested by commodore Yakk. * Makefile.am: * configure.in: Add included GOB into the build. * libgnomevfs/Makefile.am: Build the metadata code, and install the header. * libgnomevfs/gnome-vfs.h: Pull in the metadata header. * libgnomevfs/gnome-vfs-metadata.gob: * test/Makefile.am: The metadata code itself. 2002-06-13 Alex Graveley * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Always ensure ~/.gnome exists before initializing. (ensure_dot_gnome_exists): Create ~/.gnome if it does not exist. 2002-06-13 Damon Chaplin * modules/file-method.c (do_find_directory): always use 0700 (S_IRWXU) when creating trash directories outside of $HOME, so other users can't see your files. Fixes bug #46475. 2002-06-13 Glynn Foster * docs/vfolder-info-spec.dtd: Initial version of the vfolder-info dtd. -------------------2.0.0------------------------ 2002-06-10 Seth Nickell * NEWS: * configure.in: Release the big 2.0.0. Thu Jun 06 15:17:01 2002 George Lebl * modules/vfolder-desktop-method.c: some more monitors tinkering, this time it makes file create and delete monitors work as they should Thu Jun 06 14:34:30 2002 George Lebl * modules/vfolder-desktop-method.c: Actually return the method handle on add and don't crash on NULL on cancel for file monitors. Thu Jun 06 14:16:27 2002 George Lebl * modules/vfolder-desktop-method.c: implement file monitors as per the 2.0.0 bug #81670. The bug is not closed even though it seems to be that we are emitting monitors correctly, but nautilus isn't catching them. This also fixes some errors in the directory monitors as well. 2002-06-06 Jacob Berkman * modules/ssh-method.c: include Wed Jun 05 12:31:10 2002 George Lebl * modules/vfolder-desktop-method.c: implement directory monitors as per the 2.0.0 bug #81670. Still not completely finished since according to test-monitor we are getting changes, but nautilus refuses to update. So I think there is some problem in nautilus, perhaps it doesn't like the fact that it has dir monitors but not file monitors? 2002-06-05 Yanko Kaneti * configure.in: (ALL_LINGUAS) Added Bulgarian (bg). 2002-06-04 Jody Goldberg * libgnomevfs/gnome-vfs-mime-info.c (reload_if_needed) : honour gnome_vfs_is_frozen. (gnome_vfs_is_frozen) : rename from should_write_file_back. 2002-06-04 Kristian Rietveld * libgnomevfs/gnome-vfs-standard-callbacks.h: add http:send-additional-headers and http:received-headers hooks. * modules/http-method.c (create_handle): invoke headers received callback after receiving full header, (make_request): invoke send additional headers callback and add extra headers if needed, (invoke_callback_headers_received): new function, (invoke_callback_send_additional_headers): new function 2002-06-03 Ian McKellar * modules/ssh-method.c: Big improvement to the ssh method from Robert Migues 2002-06-02 Alex Graveley * modules/desktop-method.c (do_get_file_info): Set mime_type to "x-directory/vfolder-desktop", to allow launcher creation from nautilus. (do_get_file_info_from_handle): Ditto. Fri May 31 10:23:01 2002 George Lebl * modules/applications.vfolder-info.in, modules/preferences.vfolder-info.in: Handle both kewords 'Sawfish' and 'X-GNOME-Sawfish' to make a clear transition, in case someone has an older install of sawfish. Thu May 30 17:11:04 2002 George Lebl * modules/preferences.vfolder-info.in: arghh! we have two places where preference menus are defined. Ok fix the bug here as well. Thu May 30 17:04:48 2002 George Lebl * modules/applications.vfolder-info.in: don't put sawfish capplets in the advanced dir fixes #77772 Thu May 30 10:03:03 2002 George Lebl * modules/vfolder-desktop-method.c: the directories are of type x-directory/vfolder-desktop 2002-05-28 Jody Goldberg * libgnomevfs/gnome-vfs-application-registry.c (gnome_vfs_application_registry_init) : initialize before we load the applications so that things do not loop. Tue May 28 15:04:17 2002 George Lebl * modules/vfolder-desktop-method.c: fix adding/removing of includes to remove inconsistencies between the has and the list 2002-05-27 Ian McKellar * configure.in: Don't make libgnomevfs depend on libbonobo. It doesn't need it and it isn't in the .pc file anyway. 2002-05-26 Alex Graveley * configure.in (FAM_LIBS): Don't use C++ compiler to compile FAM test, as the problem is really with a miscompiled libfam which doesn't pull in the needed libstdc++.so, and hence won't link. Removing as per alexl's suggestion on bug #80826. 2002-05-24 Alex Graveley * modules/applications.vfolder-info.in: Remove explicit cddb-capplet exclusion, so it will shot up in the Advanced settings menu. Fixes bug #74767. 2002-05-24 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=80776 * libgnomevfs/gnome-vfs-application-registry.c (application_lookup_or_create) : make sure to load the app db before trying to store something. 2002-05-24 Seth Nickell * configure.in: Bump version number & release. 2002-05-24 Seth Nickell * modules/vfolder-desktop-method.c: (vfolder_info_read_items_merge): Add filters for the "Office" sub-directory (which KDE uses). 2002-05-22 Alex Graveley * modules/desktop-method.c (do_monitor_add): Implement monitoring, by registering a monitor with the parent method, and changing the destination uri for events to start with the proper prefix for this method before sending on to the real destination. 2002-05-22 Alex Graveley * configure.in (FAM_MISSING_WARNING): Print a warning if FAM is not found. * modules/file-method.c (fam_callback): Handle FAMEvent pathnames that can be either relative or absolute. Clean up the code a little as well. 2002-05-20 Laszlo Peter * modules/vfolder-desktop-method.c: (VFOLDER_URI_PARSE): remove unnecessary ( )'s that break the build on Solaris. (do_create): basename is undefined, use vuri.file. Mon May 20 10:51:32 2002 George Lebl * modules/vfolder-desktop-method.c: make note if we have had a slash on the end of a path, and in that case don't allow the 'file' specific operations on it Mon May 20 10:41:17 2002 George Lebl * modules/vfolder-desktop-method.c: fix root path reading (case where we read something like all-applications:/ rather then all-applications: This fixes the panel run box and should fix the rest of issues of #82187 2002-05-20 Alex Graveley * modules/vfolder-desktop-method.c (vfolder_uri_parse_internal): Set file to start of path if there are no slashes. 2002-05-20 Alex Graveley * modules/vfolder-desktop-method.c (vfolder_uri_parse_internal): Set vuri->file to the basename of the URL, strip trailing slashes. (resolve_folder): Simplify lookup as trailing slashes are now stripped. (get_entry_unlocked): Don't call any_subdir, just let the lookup fail. (get_entry_unlocked): Resolve optinal leading path for all-applictions: 2002-05-20 Mark McLoughlin * modules/vfolder-desktop-method.c: (vfolder_uri_parse_internal): band aid for crasher. Work out basename correctly. (vfolder_desktop_dir_monitor), (vfolder_user_desktop_dir_monitor), (do_open), (do_read_directory): remove debug info. 2002-05-17 Alex Graveley * modules/vfolder-desktop-method.c (VFOLDER_URI_PARSE): New macro/internal function to populate on-stack VFolderURI with unescaped copy of vfs uri. Used throughout instead of get_basename() and broken path handling. 2002-05-17 Alex Graveley * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_destination_is_writable): Handle GNOME_VFS_ERROR_INVALID_URI when creating .vfs-write.tmp, and assume writability. 2002-05-17 Michael Meeks * test/test-mime.c (main): do a debug_shutdown. * test/mime-test-files/small-file: add as regression test, causes the crash below. * libgnomevfs/gnome-vfs-mime-magic.c (gnome_vfs_mime_try_one_magic_pattern): check vs. the range_end + pattern_length, not the range_start + pattern_length, otherwise for small files eg. 66 bytes and GnomeMagicEntry of nautilus_link ( range_end == 256, pattern_length == 13), we fairly soon segv in try_one_pattern_on_buffer. 2002-05-17 Anders Carlsson * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_try_one_magic_pattern): Don't try to check the buffer if it's not long enough. Fixes #82027, reported by Jacob Berkman. 2002-05-16 Jody Goldberg * libgnomevfs/gnome-vfs-application-registry.c (application_sync) : add some safety. Just in case. 2002-05-16 Michael Meeks * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_edit_user_file_full): don't dup (leak) key and value. * modules/file-method.c (fam_callback): unref the URI we create. 2002-04-19 Mark McLoughlin * modules/http-method.c: (construct_gl_http_proxy), (set_proxy_auth): split these methods out from sig_gconf_value_changed. (notify_gconf_value_changed): rename from sig_gconf_value_changed (vfs_module_init): don't use gconf_init. Also use gconf_client_notify_add instead of the 'value-changed' signal on GConfClient so that we don't get notified of other user changes. 2002-05-15 Mark McLoughlin * schema/system_http_proxy.schemas: set default for all string keys so that the PropertyEditor doesn't complain. 2002-05-14 Seth Nickell * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: Tweak merging so we don't get so much crap from GNOME 1.4 2002-05-14 Jody Goldberg From ali.akcaagac@stud.fh-wilhelmshaven.de (Ali Akcaagac) http://bugzilla.gnome.org/show_bug.cgi?id=80826 * configure.in : improve FAM test. Mon May 13 17:35:39 2002 Jonathan Blandford * modules/tarpet.h (TARPET_TYPE_FIFO): Modify to make match tar documentation better. 2002-05-13 Anders Carlsson * modules/applications.vfolder-info.in: * modules/http-method.c: (strip_semicolon), (set_content_type), (process_propfind_propstat): Always try to strip off text after the semicolon when looking for the mime type. Fixes #81561, reported by Rene Seindal. 2002-05-12 Rachel Hestilow * modules/Makefile.am: * modules/default-modules.conf: Add tar module. * modules/tar-method.c: * modules/tarpet.h: Added. Many thanks to Abi Brady for her cleanroom tar header implementation. * docs/tarpet: Added: tar format documentation used for cleanroom. 2002-05-10 Naba Kumar * configure.in: Added "hi" to ALL_LINGUAS. Wed May 8 15:04:05 2002 Jonathan Blandford * Makefile.am: new supdir * configure.in: Add GConf testing * modules/cdda-method.c: Fix http proxy keys * modules/http-method.c: ditto * modules/ftp-method.c: ditto, though they seem to be effectively unused * schemas/.cvsignore: shut up, cvs * schemas/Makefile.am: Install new proxy schemas * schemas/system_http_proxy.schemas: new proxy schemas 2002-05-07 Seth Nickell * configure.in: Bump version number to 1.9.15 and release. 2002-05-07 Seth Nickell * modules/vfolder-desktop-method.c: (vfolder_info_read_items_merge): Inherit all keywords to lower level directories, allowing nested directories (not common, but they exist) to figure out their main category name unless they match a "closer" category. Flag merged .desktop files with "Merged" so we can optionally handle them specially in the vfolder. * modules/applications.vfolder-info.in: Merge "Merged" capplets into Advanced by default. 2002-05-06 Seth Nickell * modules/vfolder-desktop-method.c: (vfolder_info_read_items_merge), (vfolder_info_read_items): Handle knowledge of settings directory recursively so it covers things like Settings/Sawfish too. 2002-05-06 Seth Nickell * modules/applications.vfolder-info.in: Merge in .desktop files installed into /usr PREFIX. * modules/vfolder-desktop-method.c: (vfolder_info_read_items_merge): Do not set "Applications" category flag on merged .desktop files that come from the Settings directory. * modules/fstype.c: (fstype_internal_error): Fix the build. 2002-05-03 David Emory Watson * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_dirname): Should return URI_PATH_STR whenever there is only one URI_PATH_CHR in the uri (and it occurs at the begining), not just when the string equals URI_PATH_CHR. * test/test-uri.c: (test_uri_extract_dirname): New. (main): Update. 2002-05-03 jacob berkman * doc/Makefile.am $(TARGET_DIR): don't conflict with the gnome-vfs 1 docs 2002-05-02 Bastien Nocera * test/test-directory.c: (show_result): print error before exiting * test/vfs-test: new "all-in-one" automatic tester 2002-05-02 Bastien Nocera * test/test-monitor.c: (timeout_cb), (callback), (main): make the test be automatic, by exiting after 2 events, add in an timeout function 1 file create and 1 file deletion 2002-05-02 Bastien Nocera * test/test-mime-info.c: (main): fixup for current gnome2 removed test for default_component_iid, change test for gnome_vfs_mime_set_registered_type_key as the behaviour change in gnome2 2002-05-02 James Henstridge * modules/fstype.c: get rid of some warnings that were preventing it from compiling due to -Werror 2002-05-01 Jody Goldberg * test/test-info.c (main) : add a test for is_local. * modules/Makefile.am : add fstype.c from gnu/findutils * modules/file-method.c (do_is_local) : implement. * configure.in : Add afs option and check for some utilities required for the fstype code from gnu/findutils. 2002-04-26 Jody Goldberg * libgnomevfs/gnome-vfs-application-registry.c (application_add_key) : Store supported_uri_schemes as a key in addition to the internal representation. Wed May 01 16:49:01 2002 George Lebl * modules/vfolder-desktop-method.c: reverted fix for #75150 and fixed this correctly. Do not reload the entire info structure, all we need to do is to invalidate the root folder. Also in unrelated revert, g_build_filename already takes care of the '/'. Wed May 1 19:12:02 2002 Jonathan Blandford * libgnomevfs/gnome-vfs-mime-info.c: (_gnome_vfs_mime_info_mark_gnome_mime_dir_dirty), (_gnome_vfs_mime_info_mark_user_mime_dir_dirty), (reload_if_needed), (gnome_vfs_mime_info_reload): Only reload the data if it is needed to be reloaded. * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_init), (mime_dir_changed_callback), (gnome_vfs_mime_monitor_finalize): Let the data know that it needs to be reloaded. * libgnomevfs/gnome-vfs-mime-private.h: add _gnome_vfs_mime_info_mark_gnome_mime_dir_dirty and _gnome_vfs_mime_info_mark_user_mime_dir_dirty. 2002-05-01 Stephen Browne * configure.in: * modules/Makefile.am: Made compile of cdemenu module conditional on solaris. 2002-04-30 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Vietnamese (vi) 2002-04-30 Stephen Browne * modules/Makefile.am * modules/default-modules.conf * modules/cdemenu-desktop-method.c Added new 'read-only' module to read CDE (dtwmrc) menus. This is used by the gnome-panel on Solaris systems. 2002-04-29 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Basque (eu) 2002-04-29 Seth Nickell * configure.in: Bump version number to 1.9.14, release, rinse, repeat. Mon Apr 29 15:54:45 2002 Jonathan Blandford * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_reload): remove FIXME that's now fixed. * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_class_init), (gnome_vfs_mime_monitor_init), (mime_dir_changed_callback), (gnome_vfs_mime_monitor_monitor_dir), (gnome_vfs_mime_monitor_finalize), (gnome_vfs_mime_monitor_get), (gnome_vfs_mime_monitor_get_type): Let the user know if any directory we care about changes. 2002-04-26 Benedikt Roth * modules/applications.vfolder-info.in: Added entry for the Applications folder so that nautilus will display applications:/// information in the sidebar (#72718). Moved all before and added one to the Accessibility folder. * modules/vfolder-desktop-method.c: (get_entry_unlocked): If the user made a request for 'applications:' (which would fail) use 'applications:/' to be consistent witch eg 'start-here:' (#75033) * modules/vfolder-desktop-method.c: (vfolder_info_recheck): Fix monitoring of directories so that eg newly installed .desktop files will show up. (#75150) * modules/vfolder-desktop-method.c: (vfolder_info_init), (make_file_private): Changed ~/.gnome2vfolders/ to ~/.gnome2/vfolders (#78065). 2002-04-25 Jody Goldberg * libgnomevfs/gnome-vfs-application-registry.c (cb_application_collect) : fix. 2002-04-24 Iain * modules/preferences.vfolder-info.in: Allow the CDDB capplet in the main menu. 2002-04-24 Anders Carlsson * libgnomevfs/gnome-vfs-mime.c (add_to_key): NULL out the key and list if we don't find the extension. 2002-04-22 Jody Goldberg * configure.in : post release version bump. 2002-04-22 Jody Goldberg * Release 1.9.12 2002-04-22 Jody Goldberg * configure.in : bump version number in preparation for release. 2002-04-21 Jody Goldberg * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_icon_path_from_filename) : See if this is an absolute path. 2002-04-21 Jody Goldberg * libgnomevfs/gnome-vfs-application-registry.c (gnome_vfs_application_registry_get_applications) : add a hook for the file-type capplet such that passing NULL as the mime type returns _all_ applications. 2002-04-21 Anders Carlsson * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_do_short_list_processing), (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_set_short_list_applications), (gnome_vfs_mime_set_short_list_components), (copy_str_list), (gnome_vfs_mime_maybe_get_user_level_value): Don't look at the user level for components, just use "short_list_component_iids". We do the same thing for applications, except that we fall back to the advanced user level if we don't find any items at first. * libgnomevfs/gnome-vfs-mime.c: (add_to_key): Plug a memory leak. 2002-04-16 Jody Goldberg * modules/file-method.c (do_monitor_cancel) : really cancel things. 2002-04-12 Jody Goldberg * libgnomevfs/gnome-vfs-mime-info.c (set_value_real) : just use g_hash_table_replace. Avoid double freeing memory. 2002-04-10 Seth Nickell * modules/applications.vfolder-info.in: Hide search tool since it will be in actions (we'd still like it to show up in non-gnome-panel situations so we leave the .desktop file as installed) * modules/file-method.c: (do_monitor_cancel): Fix build warning. 2002-04-02 Jody Goldberg * modules/file-method.c (fam_callback) : Alex pointed out the Acknowledged event. I'll use that, it is much cleaner. Ignore events that are tagged as cancelled, and delete cancelled handlers when an ack comes in. (do_monitor_add) : init cancelled. (do_monitor_cancel) : watch out for double cancels. 2002-04-06 Zbigniew Chyla * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Set textdomain's encoding to UTF-8 using bind_textdomain_codeset. 2002-04-07 Michael Meeks * test/test-performance.c (main): upd. * libgnomevfs/gnome-vfs-mime-info.c (context_new): use g_hash_table_new_full. (context_add_key): make the logic more sane, don't do stupid things keeping 'previous_key' around, since it's always the same (current) key. (load_mime_list_info_from, load_mime_type_info_from): expunge previous_key inefficiency. (load_mime_type_info_from): don't keep dupping stuff we don't need to, instead build the several strings we need in the GString. (load_mime_list_info_from): ditto. (release_key_and_value): kill. (context_destroy): upd. use g_string_insert_c instead of append_char. (load_mime_type_info_from): rename to (load_type_info_from): and unify from giant ugly cut and paste (load_mime_list_info_from): kill junk. use defines to map to old names. (load_type_info_from): ignore lines that don't have the right lang before doing much slower parsing on them. 2002-03-30 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=71391 * modules/file-method.c (do_monitor_cancel) : add a comment explaining the issue here. (fam_callback) : and here. Then patch the problem by not accessing the uri unless we really need to. 2002-03-31 Murray Cumming * monikers/bonobo-stream-fs.c & monikers/bonobo-stream-vfs.c: Changed use of e.g. Bonobo_Stream_SEEK_CUR to Bonobo_Stream_SeekCur, due to recent change in libbonobo. 2002-03-28 Kevin Vandersloot * modules/http-method.c: bind to the "value_changed" gconf signal for the proxy settings so that changes made by the user are updated instantly. Fixes bug # 73578 incidentally. 2002-03-27 Seth Nickell * configure.in: Bump version number to 1.9.11 2002-03-27 Seth Nickell * modules/applications.vfolder-info.in: Add accesibility category to applications: too. 2002-03-25 Seth Nickell * modules/applications.vfolder-info.in: Change "Applications" to "Other", since lots of people are seeing this category and its weird to have Applications->Applications. 2002-03-18 Jody Goldberg * modules/preferences.vfolder-info.in : add an Accessibility category. Fri Mar 22 11:13:30 2002 Owen Taylor * test/test-async.c (main): Fix includes and g_type_init (0) [ g_type_init() hasn't taken arguments for a long time. ] 2002-03-22 jacob berkman * modules/extfs/Makefile.am (extfsdir): * modules/extfs-method.c (EXTFS_COMMAND_DIR): move into a 2.0 subdirectory for parallel install 2002-03-14 Seth Nickell * HACKING: * configure.in: Build sherrif commits, bump version number to deal with tarball that built wrong. 2002-03-11 James Henstridge * configure.in: shell doesn't need semicolons to terminate statements. In fact it can be harmful if an m4 expansion leaves a semicolon on a line alone, as that is a syntax error. 2002-03-09 Darin Adler * test/.cvsignore: Ignore test-performance. 2002-03-08 Seth Nickell * configure.in: Release 1.9.9 2002-03-08 Seth Nickell * modules/applications.vfolder-info.in: Update applications vfolder for capplet movement too. 2002-03-05 jacob berkman * modules/preferences.vfolder-info.in: the capplets apparently moved 2002-02-25 Laszlo Peter * modules/file-method.c: (do_read_directory): work around a Solaris bug where readdir64_r returns -1 instead of 0 at EOF. 2002-02-25 Hasbullah Bin Pit * configure.in: REALLY Added ms (Malay) at ALL_LINGUAS. 2002-02-25 Seth Nickell * NEWS: * configure.in: Release 1.9.8 2002-02-23 Andy Hertzfeld * modules/nntp-method.c: (do_basic_command), (get_auth_info), (get_files_from_newsgroup), (add_file_to_folder), (do_get_file_info), (do_open_directory): added password interrogation when necessary, using the standard gnome-vfs facilities. Also, added some checks to avoid crashing with badly formed urls. * modules/default-modules.conf: removed the "news" protocol variant since it's supposed to get the servername from preferences; I'll put it back when that's implemented 2002-02-20 Seth Nickell * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: more minor tweaks 2002-02-20 Michael Meeks * test/test-performance.c: add. * test/Makefile.am: upd. * libgnomevfs/gnome-vfs-mime-info.c (fast_file_getc, fast_file_open, fast_file_close): impl. (hack_getc): expunge the crack smoking evil. (load_mime_type_info_from), (load_mime_list_info_from): adapt to not need hack_getc, these parsers sucked - they couldn't cope with two lines starting with '#', remove need for ungetc. switch to the faster read methods. * test/test-shell.c: dump the mime type. Tue Feb 19 17:11:41 2002 George Lebl * tests/test-monitor.c: when printing out value of a pointer use %p and not %d to fix compilation on alpha 2002-02-18 Seth Nickell * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_gzip): * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type_internal): Prioritize suffix matching over gzip sniffing. Not very elegant, but the number of gzip'd documents misidentified as gzip files far exceeds the number of improperly suffixed gzip files. * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: Minor menu tweaks. 2002-02-17 Alexander Larsson * modules/vfolder-desktop-method.c (vfolder_info_insert_entry): Use g_hash_table_replace instead of g_hash_table_insert, so we don't keep a pointer to the old key which eventually got freed. Seems to fix a startup segfault in the panel. 2002-02-14 Tõivo Leedjärv * configure.in: Added et to ALL_LINGUAS. 2002-02-12 Morten Welinder * libgnomevfs/gnome-vfs-method.h, libgnomevfs/gnome-vfs-job.h, libgnomevfs/gnome-vfs-mime.h, gnome-vfs-parse-ls.h: Fix Solaris compile. 2002-02-11 Seth Nickell * NEWS: * configure.in: Release 1.9.7 2002-02-08 Mark McLoughlin * modules/vfolder-desktop-method.c: (invalidate_folder_T): impl lock taken version. (invalidate_folder): split out subfolder stuff to (invalidate_folder_subfolders): here. (do_close): use _T here to avoid deadlock. 2002-02-09 Darin Adler * libgnomevfs/gnome-vfs-file-info.h: Oops. Missed that inode numbers also are 64 bits when _FILE_OFFSET_BITS=64. 2002-02-09 Bastien Nocera reviewed by: Darin Adler * configure.in: check for bzlib.h, bomb if it's not there * modules/Makefile.am: use BZ2_LIBS and CDDA_LIBS defines 2002-02-09 Jon K Hellan * configure.in: s/OPENSSL_LDFLAGS/OPENSSL_LIBS/ 2002-02-09 Darin Adler Fix some 64-bit problems by setting flags properly. * libgnomevfs/Makefile.am: * modules/Makefile.am: GNOME_VFS_CONFDIR -> SYSCONFDIR GNOME_VFS_DATADIR -> DATADIR GNOME_VFS_PREFIX -> PREFIX Define _FILE_OFFSET_BITS=64; needed to get large file sizes from stat. Define _BSD_SOURCE; previous defined in some source files, but it does no harm to define it consistently. Define _LARGEFILE64_SOURCE; previously defined in some source files, but affects the stat structure, so needs to be consistent across more files. * libgnomevfs/gnome-vfs-application-registry.c: (gnome_vfs_application_registry_init): GNOME_VFS_DATADIR -> DATADIR * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init): GNOME_VFS_DATADIR -> DATADIR * libgnomevfs/gnome-vfs-mime-magic.c: Remove the _BSD_SOURCE define now that it's handled on the command line. (gnome_vfs_mime_get_magic_table): GNOME_VFS_CONFDIR -> SYSCONFDIR * libgnomevfs/gnome-vfs-mime.c: (mime_init): GNOME_VFS_DATADIR -> DATADIR * libgnomevfs/gnome-vfs-module-shared.c: Remove the _BSD_SOURCE and _LARGEFILE64_SOURCE defines, not that they are handled on the command line. * libgnomevfs/gnome-vfs-module-shared.h: Add a check so that we fail to compile if there are incompatibilities in the definition of the stat structure. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_icon_path_from_filename): GNOME_VFS_PREFIX -> PREFIX * modules/file-method.c: Remove the _LARGEFILE64_SOURCE define, now that it's handled on the command line. 2002-02-05 Havoc Pennington * configure.in (HAVE_OPENSSL): don't AC_SUBST OPENSSL_CFLAGS OPENSSL_LIBS; don't put -L/usr/lib in the ldflags, only /otherplace/lib. Put OPENSSL_CFLAGS OPENSSL_LIBS in LIBGNOMEVFS_CFLAGS LIBGNOMEVFS_LIBS * libgnomevfs/Makefile.am (INCLUDES, libgnomevfs_2_la_LIBADD): remove OPENSSL_* variables from makefile; instead merge them on configure script level. 2002-02-04 Seth Nickell * NEWS: * configure.in: Release 1.9.6 2002-02-02 Seth Nickell * modules/applications.vfolder-info.in: Start re-arranging categories. Fri Feb 01 16:54:02 2002 George Lebl * modules/vfolder-desktop-method.c: correctly save DontShowIfEmpty 2002-01-31 John Harper * libgnomevfs/Makefile.am: install gnome-vfs-cancellable-ops.h in the module-only header directory 2002-01-31 Jeff Waugh * gnome-vfs-2.0.pc.in: * gnome-vfs-module-2.0.pc.in: Fix specifics in pc.in files for 'non-standard' builds. Permission from Seth to commit. 2002-01-30 Seth Nickell * NEWS: Update news. * configure.in: Bump version number to 1.9.5 2002-01-29 Seth Nickell * libgnomevfs/gnome-vfs-monitor.c: (gnome_vfs_monitor_do_add): * test/test-monitor.c: (main): Fix a bug in the monitor code... wasn't returning the method handle (oops!). * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: * modules/vfolder-desktop-method.c: (invalidate_folder), (do_monitor_add): Add rudimentary monitoring support to the vfolder method. Its currently wildly overzealous (basically notifies everyone anytime anything changes), but the menu structure shouldn't be jumping around that often, and rereading the entire menu structure ain't that costly. Currently doesn't work for deletions. 2002-01-28 Seth Nickell * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: More exciting updates to the vfolders. 2002-01-28 Darin Adler * gnome-vfs.spec.in: Remove man page. 2002-01-28 Darin Adler * libgnomevfs/gnome-vfs-configuration.c: (gnome_vfs_configuration_get_module_path): Patch from Alvaro Lopez Ortega to fix crash instead of warning when configuration is not set up. * modules/nntp-method.c: Misc. cleanup. 2002-01-27 Seth Nickell * modules/applications.vfolder-info.in: * modules/preferences.vfolder-info.in: And Systems folder for XST. 2002-01-27 Seth Nickell * modules/preferences.vfolder-info.in: Add Advanced folder. 2002-01-27 Seth Nickell * modules/applications.vfolder-info.in: Change where we look for capplets. 2002-01-27 Seth Nickell * modules/preferences.vfolder-info.in: Change where we look for capplets. 2002-01-27 Anders Carlsson * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_delete_items): Call count_Items_and_size with move set to FALSE. Fixes #46777. Approved by Seth Nickell. 2002-01-22 jacob berkman * man/: * configure.in (AC_OUTPUT): * Makefile.am (SUBDIRS): remove man page 2002-01-21 Alexander Larsson * modules/file-method.c (monitor_setup): Fix deadlock when fam connection failed twice. 2002-01-21 jacob berkman * modules/Makefile.am (libnntp_la_SOURCES): include nntp-method.h 2002-01-20 Seth Nickell * modules/Makefile.am: * modules/default-modules.conf: * modules/nntp-method.c: (nntp_response_to_vfs_result), (read_response_line), (get_response), (do_control_write), (nntp_connection_reset_buffer), (do_basic_command), (nntp_connection_create), (nntp_connection_destroy), (my_str_hash), (my_str_equal), (nntp_connection_uri_hash), (nntp_connection_uri_equal), (nntp_connection_acquire), (nntp_connection_release), (is_number_or_space), (all_numbers_or_spaces), (remove_numbers_between_dashes), (remove_number_at_end), (trim_nonalpha_chars), (remove_of_expressions), (filter_folder_name), (remove_commas), (is_number), (parse_date_string), (parse_header), (nntp_fragment_new), (nntp_fragment_destroy), (map_slashes), (nntp_file_new), (nntp_file_destroy), (nntp_file_look_up_fragment), (nntp_file_get_total_size), (nntp_file_add_part), (look_up_file), (start_loading_article), (uu_decode_text), (base_64_map), (base_64_decode_text), (line_in_decode_range), (load_from_article), (load_file_fragment), (bytes_in_buffer), (copy_bytes_from_buffer), (nntp_file_read), (free_nntp_file_list), (get_files_from_newsgroup), (strip_slashes), (extract_newsgroup_and_filename), (nntp_file_from_uri), (has_all_fragments), (add_file_fragment), (remove_partial_files), (update_file_sizes), (add_file_to_folder), (remove_file_from_list), (remove_contained_files), (calculate_folder_mod_date), (generate_folder_from_element), (generate_folders), (destroy_element), (destroy_folder_hash), (assemble_folders), (assemble_files_from_overview), (do_is_local), (prepare_to_read_file), (do_open), (do_close), (do_read), (do_get_file_info), (do_get_file_info_from_handle), (do_open_directory), (do_close_directory), (do_read_directory), (do_check_same_fs), (vfs_module_init), (vfs_module_shutdown): * modules/nntp-method.h: Port of Andy's NNTP module from GnomeVFS1. 2002-01-19 Hasbullah Bin Pit * configure.in: Added ms (Malay) at ALL_LINGUAS. * po/ms.po: Added Malay Translation by Mohamad Afifi Omar (App) and me.. Thu Jan 17 16:31:31 2002 George Lebl * modules/vfolder-desktop-method.c: Fix some memory leaks and fix memory corruption when duplicate filenames are found 2002-01-17 Darin Adler * libgnomevfs/gnome-vfs-async-ops.h: Remove unneeded includes. * libgnomevfs/gnome-vfs-init.h: Remove unneeded includes. * libgnomevfs/gnome-vfs-mime-handlers.h: Remove unneeded includes. * libgnomevfs/gnome-vfs-mime-handlers.c: Add includes. 2002-01-17 Darin Adler * libgnomevfs/gnome-vfs-mime.h: Removed all sorts of extra include statements that somehow got in here. * libgnomevfs/gnome-vfs-mime.c: * modules/ftp-method.c: * modules/pipe-method.c: * modules/translate-method.c: * test/test-mime.c: Added includes as necessary to files that were depending on the extra includes. Thu Jan 17 01:55:23 2002 George Lebl * modules/vfolder-desktop-method.c: Fix open_directory with NULL path and treat it just like "/". Also a ref fix in insert_entry (probably just being anal though) 2002-01-17 Anders Carlsson * test/test-mime.c (main): Ugh, don't try to free argv. Fri Jan 11 02:22:26 2002 George Lebl * modules/vfolder-desktop-method.c: define structure fields for monitors, start support for monitoring the desktop_dir's and use .gnome2 and not .gnome for user vfolder storage Thu Jan 10 23:17:41 2002 George Lebl * modules/file-method.c: don't do g_warning on the last 4 fam events, they do come (except for FAMMoved) this was causing everything to spew tons of warnings * modules/default-methods.conf: fix for all-applications: and add all-preferences: Thu Jan 10 11:12:24 2002 Owen Taylor * libgnomevfs/Makefile.am (libgnomevfs_2_la_LIBADD): Reorder to get -ldl in the right place wrt. OPENSSL libs. (Probably irrelevant) * configure.in (HAVE_OPENSSL): Omit -ldl here, since we have it already from gmodule. Tue Jan 08 23:28:27 2002 George Lebl * test/test-shell.c: make things run in a main loop so that we can test things that require it (such as the vfolder monitoring) * modules/vfolder-desktop-method.c: make threadsafe (hopefully), add ctime/mtime for most entries (somewhat fake for directories, but good enough for noticing changes). When we notice a change there is a hack so that we read in stuff about 200ms later (this is a HACK! but it makes it work for now). Fix moving files. 2002-01-04 Havoc Pennington * modules/http-method.c (vfs_module_init): preload the GConfClient cache, since we immediately get all the values from it. 2002-01-03 Darin Adler * libgnomevfs/gnome-vfs-xfer.c: (move_items), (link_items): Update count when moving and linking too. Not 100% sure this makes the count perfect, but it shoudl be better than before. Wed Jan 02 20:45:09 2002 George Lebl * modules/vfolder-desktop-method.c: organize a todo/fixme list at the top of the file. Implement vfolder file rereading. Implement stating of things that we can't monitor otherwise. So that we notice changes on disk. This stuff is now mostly finished, modulo the .directory files. Though this is not well tested yet. Sun Dec 30 01:40:40 2001 George Lebl * modules/vfolder-desktop-method.c: Start working on monitoring. For now it monitors the item directories for added directories plus there is a few more FIXMEs around. There are still many open questions of how to do things without being a slow pig. For example we need to update at least somewhat if there are is no fam around as well. 2001-12-16 Duarte Loreto * configure.in: Added Portuguese locale to ALL_LINGUAS. 2001-12-15 Ross Golder * gnome-vfs.spec.in (Name): was gnome_vfs, now @PACKAGE@. * configure.in: Updated RPM dependency versions 2001-12-12 Michael Meeks * libgnomevfs/gnome-vfs-mime-handlers.c (unref_gconf_engine): kill. (get_user_level): kill atexit handler & use the gconf_client API instead of the gconf_engine one. 2001-12-14 Seth Nickell * modules/applications.vfolder-info.in: Rename Settings folder to Preferences. 2001-12-14 Seth Nickell * modules/preferences.vfolder-info.in: Fix stupid typo that was breaking substitution of @datadir@ 2001-12-14 Seth Nickell * modules/Makefile.am: * modules/default-modules.conf: * modules/desktop-method.c: (vfs_module_init): * modules/preferences.vfolder-info.in: Switch the "preferences:/" URI over to using the vfolder method and create a vfolder for preferences. 2001-12-14 Seth Nickell * modules/Makefile.am: * modules/applications.vfolder-info.in: * modules/default-modules.conf: * modules/programs.vfolder-info.in: Change from "programs:/" to "applications:/" 2001-12-05 ERDI Gergo * libgnomevfs/gnome-vfs-context.h: balance G_END_DECLS with G_BEGIN_DECLS Sun Dec 02 11:55:57 2001 George Lebl * modules/vfolder-desktop-method.c, modules/programs.vfolder-info.in: change the Unallocated query type to an OnlyUnallocated flag on the folder. This way we can have multiple onlyunallocated folders, though that may lead to some operations not being very efficent. Also it fixes some ugly corner cases with that being a query type and cleans up the code somewhat. Also write all 3 folder flags to disk when writing the user vfolder-info file. * test/test-shell.c: when getting file info, always get the mime type. Wed Nov 28 13:16:06 2001 George Lebl * modules/vfolder-desktop-method.c: Fix set_file_info, fix a few leaks, some possible crashes, and add cancellation checks to a bunch of places (not everywhere yet) 2001-11-28 Seth Nickell * modules/vfolder-desktop-method.c: (get_entry), (desktop_uri_to_file_uri), (do_open): Track down a couple bugs that were preventing .directory files from being read... Folders should now have directory info... woo hoo! * modules/programs.vfolder-info.in: Add specs to all folders. 2001-11-28 Seth Nickell * modules/programs.vfolder-info.in: Add specification 2001-11-27 Seth Nickell * modules/programs.vfolder-info.in: And Unallocated query works! :-) Turn it on for the Applications folder. Tue Nov 27 20:06:00 2001 George Lebl * modules/vfolder-desktop-method.c: add the Unallocated query. that is a special query which can only be used once in a vfolder-info file which matches all the elsewhere unallocated items. 2001-11-27 Seth Nickell * modules/vfolder-desktop-method.c: (readitem_entry): Fix incorrect boolean comparison, makes readitem_entry actually work. 2001-11-27 Seth Nickell * modules/vfolder-desktop-method.c: (vfolder_info_read_items_merge): Change "Utility" to "Utilities" looking for vfolders based on current location. 2001-11-27 Seth Nickell * George Lebl Give him a hug. * modules/programs.vfolder-info.in: Use on standard folders except for Settings. If there's nothing in Settings, its an actual problem, and we shouldn't just have the folder disappear. Tue Nov 27 16:55:34 2001 George Lebl * modules/vfolder-desktop-method.c: implement ReadOnly and DontShowIfEmpty flags on folders and a ReadOnly flag on the main info xml tree. 2001-11-27 Seth Nickell * modules/programs.vfolder-info.in: Add/Remove/Rename categories to comply with current HIG spec. Mon Nov 26 21:52:01 2001 George Lebl * modules/vfolder-desktop-method.c: always avoid mime-type checks on real file and just force the right mime types. If a scheme starts with 'all-', then this is just a flat listing of all the .desktops in that scheme. And fix a leak or two. * modules/default-modules.conf: add all-programs: scheme for vfolder-desktop-method 2001-11-26 Seth Nickell * NEWS: Update news... 2001-11-26 Seth Nickell * configure.in: Bump version to 1.9.4, tag, release (rinse repeat). 2001-11-22 Seth Nickell * doc/gnome-vfs-docs.sgml Add reference to section on "installing MIME data" * doc/installing-mime-data.sgml Blurb moved from the HIG. 2001-11-21 Wang Jian * configure.in(ALL_LINGUAS): Added zh_CN for Simplified Chinese. Tue Nov 20 19:32:11 2001 Owen Taylor * configure.in (FAM_LIBS): Add some more quoting that is needed for some autoconf versions. * libgnomevfs/gnome-vfs-mime-monitor.c: Remove gobject/gsignal.h. 2001-11-18 Miles Lane * libgnomevfs/gnome-vfs-mime-monitor.h: replace include of gobject/gobject.h with glib-object.h, due to a change in gobject/gobject.h that forces an #error for all direct includes. This checkin was approved by Havoc. 2001-11-13 Frederic Crozat * configure.in: Fix default detection of OpenSSL libraries 2001-11-08 Maciej Stachowiak * libgnomevfs/gnome-vfs-helpers.c, libgnomevfs/gnome-vfs-helpers.h, libgnomevfs/Makefile.am: Removed because we don't want to lock in this messy API and there is no time for proper cleanup. Some eel functions will probably migrate to gnome-vfs later. 2001-11-06 Maciej Stachowiak * libgnomevfs/Makefile.am: Make gnome-vfs-mime.h a module header again. * libgnomevfs/gnome-vfs-mime-utils.h: New public header. * libgnomevfs/gnome-vfs-mime-handlers.h: Include gnome-vfs-mime-utils.h * libgnomevfs/gnome-vfs-mime.h, libgnomevfs/gnome-vfs-mime.c: Rename gnome_vfs_get_mime_type to gnome_vfs_get_mime_type_common. Add new gnome_vfs_get_mime_type function which takes a string URI and uses gnome_vfs_get_file_info under the covers. 2001-11-05 Seth Nickell * doc/tmpl/gnome-vfs-unused.sgml: * libgnomevfs/Makefile.am: Make gnome-vfs-mime-monitor.h a public header. Make gnome-vfs-mime.h a public header, maybe only temporarily but a number of the functions declared here should be public. For now just make sure we aren't breaking Nautilus needlessly. 2001-11-05 Maciej Stachowiak * test/test-shell.c: Add a header now needed due to the below changes. * doc/tmpl/gnome-vfs-unused.sgml: More mystery changes. 2001-11-05 Maciej Stachowiak * libgnomevfs/check-headers.pl: New script to check that module API headers do not include private headers, and public headers do not include private or module API headers. * libgnomevfs/Makefile.am: Run check-headers.pl on `make check'. * libgnomevfs/Makefile.am, libgnomevfs/gnome-vfs-cancellable-ops.c, libgnomevfs/gnome-vfs-context.h, libgnomevfs/gnome-vfs-handle.c, libgnomevfs/gnome-vfs-handle.h, libgnomevfs/gnome-vfs-method.h, libgnomevfs/gnome-vfs-ops.h, libgnomevfs/gnome-vfs-types.h, libgnomevfs/gnome-vfs-uri.c, libgnomevfs/gnome-vfs.h: Fix problems found by check-headers.pl * doc/tmpl/gnome-vfs-unused.sgml: the mystery of gtk-doc strikes again. 2001-11-03 Darin Adler * .cvsignore: Ignore gnome-vfs-module-2.0.pc. 2001-11-02 Maciej Stachowiak * NEWS, configure.in: Updated for 1.9.3. 2001-11-02 Maciej Stachowiak * libgnomevfs/Makefile.am: Fix module header install location. * Makefile.am, configure.in: install gnome-vfs-module-2.0.pc (I think Darin made the same changes, but I forgot to commit, too tired to untangle it now) 2001-11-02 Darin Adler * configure.in: We need to generate gnome-vfs-module-2.0.pc, if we're going to install it. Sorry for the 3 check-ins in a row. 2001-11-02 Darin Adler * Makefile.am: Oops. ".pc" not ".pc.in". 2001-11-02 Darin Adler * Makefile.am: Install gnome-vfs-module-2.0.pc. * libgnomevfs/gnome-vfs.h: One file was out of alphabetical order. 2001-11-02 Maciej Stachowiak * NEWS, configure.in: Updated for 1.9.2. 2001-11-02 Maciej Stachowiak * libgnomevfs/gnome-vfs-uri.h, libgnomevfs/gnome-vfs-uri.c: Remove gnome_vfs_get_basename, fixing bug 40822 Remove a bunch of uses of gnome_vfs_uri_get_basename and replace mostly with extract_short_path_name. All appeared to be buggy as written! * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type_from_uri_internal), (gnome_vfs_get_mime_type): * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private): * modules/cdda-method.c: (cdda_set_file_info_for_root), (get_track_index_from_uri), (do_open), (is_file_is_on_disc), (do_get_file_info), (do_open_directory), (get_data_size_from_uri): * modules/nfs-method.c: (fhandle_recurse_lookup), (nfs_create), (nfs_export_list), (do_get_file_info), (do_get_file_info_from_handle), (nfs_mkdir), (nfs_rmdir), (nfs_unlink), (nfs_rename): * modules/vfolder-desktop-method.c: (get_basename, do_create, do_move, do_unlink): * doc/tmpl/gnome-vfs-unused.sgml, doc/tmpl/process.sgml, doc/tmpl/uri.sgml: gtk-doc works its magic. 2001-11-02 Maciej Stachowiak * libgnomevfs/Makefile.am: Move a few more headers into the module API. 2001-11-02 Seth Nickell * Makefile.am: Build gnome-vfs-module-2.0.pc * libgnomevfs/Makefile.am: Start splitting header files between private, public and module includes. * gnome-vfs-module-2.0.pc.in: Add a new .pc file for modules. 2001-11-02 Maciej Stachowiak * doc/Makefile.am: Ignore new private headers in libgnomevfs directory. 2001-11-02 Maciej Stachowiak * Makefile.am: * configure.in: * doc/tmpl/gnome-vfs-unused.sgml: * libgnomevfs-pthread/Makefile.am: * libgnomevfs-pthread/gnome-vfs-async-job-map.c: * libgnomevfs-pthread/gnome-vfs-async-job-map.h: * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job-queue.c: * libgnomevfs-pthread/gnome-vfs-job-queue.h: * libgnomevfs-pthread/gnome-vfs-job-slave.c: * libgnomevfs-pthread/gnome-vfs-job-slave.h: * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-pthread.c: * libgnomevfs-pthread/gnome-vfs-pthread.h: * libgnomevfs-pthread/gnome-vfs-thread-pool.c: * libgnomevfs-pthread/gnome-vfs-thread-pool.h: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-async-ops.c: * libgnomevfs/gnome-vfs-init.c: * test/test-async-cancel.c: * test/test-queue.c: Move contents of libgnomevfs-pthread into libgnome-vfs. * modules/Makefile.am, modules/default-modules.conf, modules/gconf-method.c, modules/gconf-method.h: Remove gconf method. 2001-11-01 Seth Nickell * data/mime/WHERE_IS_THE_MIME_REGISTRY?: Add file informing the unwashed of the new location of the registry. * check-mime.pl: * data/Makefile.am: * data/mime/ChangeLog: * data/mime/Makefile.am: * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.applications: * data/mime/gnome-vfs.keys.in: * data/mime/gnome-vfs.mime: Remove the mime registry. * Makefile.am: * configure.in: * gnome-vfs.spec.in: Remove references to the mime registry. * doc/tmpl/gnome-vfs-unused.sgml: Apparently gtk-doc had some changes it wanted to make, don't look at me ;-) 2001-10-30 Laszlo Peter * libgnomevfs/gnome-vfs.h: remove duplicated include line 2001-10-29 jacob berkman * libgnomevfs/gnome-vfs-i18n.h (_): use GETTEXT_PACAKGE * configure.in: set GETTEXT_PACKAGE and use AM_GLIB_GNU_GETTEXT * acconfig.h: add GETTEXT_PACAKGE 2001-10-27 jacob berkman * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job-queue.c: rename GNOME_VFS_*_PRIORITY to GNOME_VFS_PRIORITY_* 2001-10-26 Laszlo Peter * modules/vfolder-desktop-method.c: fix undefined symbol. 2001-10-24 Havoc Pennington * modules/file-method.c (get_stat_info): fix memory leak of file_info->symlink_name for multiply-nested symlinks, and avoid infinite loop for symlink cycles. Bug #62494 Mon Oct 22 23:18:38 2001 George Lebl * modules/vfolder-desktop-method.c: fix reading of keywords, preserve implicit keywords on privatize, reread keywords after we changed the file, when keywords may have changed, invalidate the entire directory strucutre. Mon Oct 22 21:47:00 2001 George Lebl * modules/vfolder-desktop-method.c: fix creation of files, fix usage of basenames, fix long moving, don't write vfolder more then once on long move, fix quick moves. Actually this makes moves actually work. Also add some FIXMEs which I didn't think of before. Mon Oct 22 19:01:21 2001 George Lebl * modules/vfolder-desktop-method.c: implement long_move and folder move Mon Oct 22 19:10:57 2001 George Lebl * modules/test-method.c: add includes for sys/time and sys/types Sun Oct 21 16:14:33 2001 George Lebl * modules/vfolder-desktop-method.c: implement saving of the vfolder info, and fix locations for saving per-user files. 2001-10-21 Gregory Leblanc * gnome-vfs.spec.in: Bunch of updates, still not quite right. Asked for some help from the gnome-vfs hackers. Sun Oct 21 02:52:48 2001 George Lebl * modules/vfolder-desktop-method.c: implement create and some fixes to saving vfolder doc (though of course that bit isn't done yet) Fri Oct 19 23:24:06 2001 George Lebl * modules/vfolder-desktop-method.c: implement make/remove_directory, do proper checking of schemes as a way to do "same fs" check Thu Oct 18 20:14:02 2001 George Lebl * modules/vfolder-desktop-method.c: Rewrite the path resolution bits, rewrite the move method to be saner, but still incomplete, implement open for write and sanitized things all over. 2001-10-17 jacob berkman * configure.in: remove gdk dependency * modules/file-method.c (monitor_setup): (fam_callback): use GIOChannels directly rather than through gdk_input calls (removes an unnecessary gdk dependency) Tue Oct 16 00:30:27 2001 George Lebl * modules/vfolder-desktop-method.c: not all systems have the d_type dirent thingie, so don't use it, implement unlink and move (mostly), though changes are not yet written to disk, add a bunch of fixmes and some more code to the writing functions. also remove some debugging output. 2001-10-15 Laszlo Peter Patch for 48545 - add prioritized versions of all async calls * libgnomevfs/gnome-vfs-async-ops.h, libgnomevfs-pthread/gnome-vfs-async-ops.c, libgnomevfs/gnome-vfs-helpers.h, libgnomevfs/gnome-vfs-helpers.c: added a new argument to all async operations, the job priority, which comes just before the callback. Priority is an int, valid range is GNOME_VFS_MIN_PRIORITY (-10) to GNOME_VFS_MAX_PRIORITY (+10). Use GNOME_VFS_DEFAULT_PRIORITY (0) if you don't care. * libgnomevfs-pthread/gnome-vfs-job-queue.h, libgnomevfs-pthread/gnome-vfs-job-queue.c: (new files) Put async jobs in a queue if the number of concurrent jobs exceeds a limit. Start jobs based on the priority. Public functions gnome_vfs_async_{get,set}_job_limit can be used to change the default job limit. * libgnomevfs/gnome-vfs-job-limit.h: (new file) public prototypes of the functions to get/set the job limit. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_thread_backend_shutdown): shut down the job queue * libgnomevfs-pthread/gnome-vfs-job.h: added the priority to GnomeVFSJob. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_new): added the priority argument. (gnome_vfs_job_go): call the job scheduler instead of starting the job immediately. * libgnomevfs-pthread/gnome-vfs-pthread.c: (gnome_vfs_pthread_init): initialize the job queue. * libgnomevfs-pthread/gnome-vfs-thread-pool.c (thread_entry): check the job queue when a job is finished. * modules/test-method.c: (vfs_module_init): take the config file from GNOME_VFS_TEST_CONFIG_FILE env. variable if defined. (start_operation): use select() instead of usleep(). * test/test-async-cancel.c, test/test-async-directory.c, test/test-async.c, test/test-callback.c, test/test-channel.c, test/test-symlinks.c: added 0 priority to all async calls. * test/test-queue.c: (new file): test program for the job queue. * queue-test-config.xml: (new file): config file for the test method. Used by test-queue. * doc/tmpl/async-ops.sgml: added docs on priority and scheduling. * libgnomevfs/Makefile.am, libgnomevfs-pthread/Makefile.am, test/Makefile.am: added the new files. Sun Oct 14 23:25:41 2001 George Lebl * modules/Makefile.am, modules/programs.vfolder-info.in, modules/default-modules.conf: Make the vfolder-desktop-method the default for programs: and install the programs.vfolder-info file which now is basically the same as the current scheme of directories. It needs to be modified to be like nils's proposal which is cooler. * modules/vfolder-desktop-method.c: Change to use .vfolder-info, to make it possible to use it for other schemes then programs:. Read override vfolder-info from users directory if it exists in preparation for writing. Implement SortOrder. Fix reading 'Not' queries. Sun Oct 14 02:31:58 2001 George Lebl * modules/vfolder-desktop-method.c: Implement most of the read-only functionality, the only thing missing is understanding sort order. Still not added to the build, however it now actually works. Sat Oct 13 01:47:44 2001 George Lebl * modules/vfolder-desktop-method.c: A piece of not-yet-working code to do the "programs:" scheme but with vfolders. Aimed to complement the desktop-method, not to replace it for everything. Doesn't even compile, but I'm paranoid so I want to commit things. 2001-10-07 Maciej Stachowiak * modules/nfs-method.c: (rpc_init_tcp): Fix bug 55805 (mistake in gnome-vfs/modules/nfs-method.c), patch from Martin Pool . 2001-10-02 Darin Adler * modules/http-method.c: (build_request), (make_request): * test/test-shell.c: (do_cd): g_string_printfa -> g_string_append_printf 2001-10-02 Darin Adler * .cvsignore: * Makefile.am: * configure.in: Changed from xml-i18n-tools to intltool. * doc/tmpl/gnome-vfs-unused.sgml: Regenerated by gtk-doc. (Do we have a version mismatch?) 2001-09-30 Anders Carlsson * libgnomevfs/gnome-vfs-module-callback.c: (gnome_vfs_module_callback_free_stack_info): Free the stack info structure too. 2001-09-28 Darin Adler * modules/file-method.c: (do_read_directory): Add back MIME type code that we accidentally removed when we removed directory filtering. 2001-09-26 Maciej Stachowiak * configure.in, NEWS: updated for 1.9.1 2001-09-26 Maciej Stachowiak * doc/tmpl/gnome-vfs-unused.sgml: Regenerated by gtk-doc Merged some changes from the stable branch: 2001-09-10 Maciej Stachowiak * libgnomevfs/gnome-vfs-uri.h, libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_resolve_relative): Renamed from gnome_vfs_uri_relative_new; reversed argument order. 2001-09-08 Maciej Stachowiak Fix make distcheck: * libgnomevfs/gnome-vfs-configuration.c: (configuration_load), (install_path_list), (gnome_vfs_configuration_init): * test/Makefile.am: Set environment variables so that `make check' can find the uninstalled modules and configuration. 2001-09-25 Darin Adler * modules/cdda-cddb.c: (CDDBProcessLine): * modules/http-authn.c: (http_authn_glist_find_header), (http_authn_parse_response_header_basic): * modules/nfs-method.c: (server_connection_acquire): Switched to new ascii version of strcasecmp family. 2001-09-25 Darin Adler * configure.in: Require glib 1.3.9. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_from_name_or_default): * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri), (get_method_string): Fix for changed signature of g_ascii_strup/strdown. 2001-09-25 Darin Adler * modules/gzip-method.c: (skip): * modules/translate-method.c: (my_poptParseArgvString), (tr_args_parse): Use g_alloca instead of alloca for better portability. 2001-09-20 Havoc Pennington * modules/file-method.c (find_trash_in_hierarchy): remove the trash search stuff (create_trash_near): ditto * modules/Makefile.am, desktop-method.c, desktop-module.conf: Add desktop method for desktop URIs such as start-here 2001-09-18 Havoc Pennington * libgnomevfs/gnome-vfs-private.h: update modules locations * modules/Makefile.am (modulesdir): put modules in a new directory (modulesconfdir): put modules conf in a new directory * gnome-vfs-2.0.pc.in (Cflags): update * libgnomevfs/Makefile.am (libgnomevfsincludedir): move headers into gnome-vfs-2.0 subdir 2001-09-10 Frank Belew * configure.in: add check for librt for semaphore functions (fixes undefined references on solaris) 2001-09-07 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: Remove a stray include. 2001-09-07 Maciej Stachowiak * doc/Makefile.am: Fix stamp creation so the docs get built only when something actually changes, not every single time. 2001-09-06 Darin Adler * modules/ftp-method.c: (do_path_command): Fix leak. (do_transfer_command): Simplify code. (do_path_transfer_command): Fix leak. (ftp_connection_create): Fix leak of uri in many cases and of response_buffer in one case. (my_str_hash): Simplify code. (my_str_equal): Simplify code. (ftp_connection_acquire): Formatting tweak. (do_get_file_info): Fix leak in the ERROR_NOT_FOUND case. (vfs_module_init): Remove gconf initialization since this module doesn't use gconf. 2001-09-07 Maciej Stachowiak Fixed many problems in the in-line and out-of-line docs that were causing doc build warnings (most indicative of problems in the genrated docs). Recategorize things a bit. * doc/Makefile.am: * doc/about.sgml: * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: * doc/tmpl/backend.sgml: * doc/tmpl/directory.sgml: * doc/tmpl/find-directory.sgml: * doc/tmpl/fnmatch.sgml: * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/init.sgml: * doc/tmpl/mime-info.sgml: * doc/tmpl/module-callback-private.sgml: * doc/tmpl/seekable.sgml: * doc/tmpl/standard-callbacks.sgml: * doc/tmpl/xfer.sgml: * doc/writing-modules.sgml: * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-find-directory.c: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-module-callback.c: 2001-09-03 Maciej Stachowiak Simplification of the callback API, in the process fixing bugs 8447 ([API] Authentication callback API is not threadsafe) and 8448 ([API] Authentication callbacks require explicit threading when using async API) and documenting all of it. * libgnomevfs/gnome-vfs-module-callback.h, libgnomevfs/gnome-vfs-module-callback.c: (gnome_vfs_module_callback_set_default, gnome_vfs_module_callback_push, gnome_vfs_module_callback_pop): New callback interface, replacing gnome-vfs-app-context. (gnome_vfs_async_module_callback_set_default, gnome_vfs_async_module_callback_push, gnome_vfs_async_module_callback_pop): Calls for managing async callbacks. (gnome_vfs_module_callback_invoke): Function to be used by modules to invoke a callback. (gnome_vfs_module_callback_get_stack_info, gnome_vfs_module_callback_free_stack_info, gnome_vfs_module_callback_use_stack_info, gnome_vfs_module_callback_clear_stacks, gnome_vfs_module_callback_set_in_async_thread): Private calls used by gnome-vfs-job to make sure async jobs are called with the same set of callbacks as the thread that launches them. (callback_info_new, callback_info_ref, callback_info_unref, async_callback_response, async_callback_invoke, async_callback_destroy, async_callback_info_new, insert_callback_into_table, push_callback_into_stack_table, pop_stack_table, copy_one_callback, copy_one_stack_top, copy_one_callback_to_stack, duplicate_callback_table, copy_callback_stack_tops, copy_callback_table_to_stack_table, callback_info_unref_x, remove_one_stack, remove_one_callback, clear_stack_table, clear_callback_table, stack_table_destroy, stack_keys_alloc, free_default_callbacks, initialize_global_if_needed, initialize_per_thread_if_needed): Helper functions for the above. * libgnomevfs/gnome-vfs-module-callback-module-api.h: Prototypes for module-only calls relating to callbacks. * libgnomevfs/gnome-vfs-module-callback-private.h: Prototypes for internal calls relating to callbacks. * libgnomevfs/gnome-vfs-module-callback-private.c, libgnomevfs/gnome-vfs-module-callback-module-api.c: Files that only include the corresponding headers to make sure they are standalone includable. * libgnomevfs/gnome-vfs-standard-callbacks.h: Changed some names to fit better with the new API. * libgnomevfs/gnome-vfs-app-context.c, libgnomevfs/gnome-vfs-app-context.h, libgnomevfs/gnome-vfs-callbacks.c, libgnomevfs/gnome-vfs-callbacks.h, libgnomevfs/gnome-vfs-context.h, libgnomevfs/gnome-vfs-module-api.c, libgnomevfs/gnome-vfs-module-api.h: Removed. * libgnomevfs/gnome-vfs-private-types.h, libgnomevfs/gnome-vfs-private.h, libgnomevfs/gnome-vfs-types.h, libgnomevfs/gnome-vfs.h: Pull in new headers where appropriate. * libgnomevfs/gnome-vfs-backend-private.h, libgnomevfs/gnome-vfs-backend.c (gnome_vfs_backend_dispatch_module_callback): Adjust for new interface of async module callbacks. * libgnomevfs/gnome-vfs-context.c: (gnome_vfs_context_new, gnome_vfs_context_unref, gnome_vfs_context_check_cancellation_current): Remove app-context code. * libgnomevfs/gnome-vfs-messages.h: Move typedef of GnomeVFSStatusCallback here. * libgnomevfs/Makefile.am: Add new files to build, remove ones that are gone. * libgnomevfs-pthread/gnome-vfs-job.h, libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_set, set_current_job, clear_current_job, gnome_vfs_op_destroy): Copy callback state so async jobs get the same set of callbacks as the calling thread. (gnome_vfs_job_execute, pthread_gnome_vfs_dispatch_module_callback, dispatch_module_callback, dispatch_sync_job_callback): Adjust for new interface of module callbacks. * modules/http-method.c (connect_to_uri, invoke_callback_basic_authn): Adjusted for above API changes. * modules/http-authn.c: (http_authentication_test_flush_credentials): Renamed to authentication from authn. * modules/Makefile.am: Remove a stray trailing slash (caused problems with newer automake). * test/test-callback.c: (authentication_callback, destroy_notify, main): Adjusted for API changes. * configure.in: Don't check gtk-doc version (I have an older version, it seems to work fine) and remove redundant checks. * doc/gnome-vfs-docs.sgml, doc/gnome-vfs-sections.txt: Add new module callback stuff. * doc/tmpl/module-callback-module-api.sgml, doc/tmpl/module-callback-private.sgml, doc/tmpl/module-callback.sgml, doc/tmpl/standard-callbacks.sgml, doc/tmpl/context.sgml: New and updated out-of-line part of the docs for the module callback interface. * doc/tmpl/app-context.sgml, doc/tmpl/constants.sgml, doc/tmpl/module-api.sgml: Removed (corresponding sections are gone). * doc/tmpl/gnome-vfs-unused.sgml, doc/tmpl/list-sort.sgml, doc/tmpl/shellpattern-filter.sgml, doc/tmpl/types.sgml, doc/tmpl/xfer.sgml: Mysteriously changed by gtk-doc. * doc/Makefile.am, doc/about.sgml, doc/gnome-vfs-docs.sgml, doc/gnome-vfs-sections.txt, doc/tmpl/app-context.sgml, doc/tmpl/async-ops.sgml, doc/tmpl/cancellable-ops.sgml, doc/tmpl/constants.sgml, doc/tmpl/context.sgml, doc/tmpl/directory-filter.sgml, doc/tmpl/directory.sgml, doc/tmpl/gnome-vfs-unused.sgml, doc/tmpl/list-sort.sgml, doc/tmpl/regexp-filter.sgml, doc/tmpl/shellpattern-filter.sgml, doc/tmpl/standard-callbacks.sgml, doc/tmpl/types.sgml, doc/tmpl/xfer.sgml: Rescanned, cleaned up assorted doc problems, removed docs for APIs that are gone. 2001-09-04 Darin Adler Remove more of the obsolete back-end machinery. * Makefile.am: Build libgnomevfs-pthread first, so we can link it into libgnomevfs. * libgnomevfs-pthread/Makefile.am: Make a convenience library instead of a shared library. Also put all the headers in SOURCES instead of noinst_HEADERS, as recommended by automake experts. * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job.c: Remove pthread_ prefix from all the names of entry points since we now link to these directly. * libgnomevfs/Makefile.am: Link in the new convenience library and remove gnome-vfs-backend.c. * libgnomevfs/gnome-vfs-app-context.c: (gnome_vfs_callback_call_hook), (dispatch_destroy_notify): * libgnomevfs/gnome-vfs-context.c: (gnome_vfs_context_peek_current): * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init), (gnome_vfs_shutdown), (gnome_vfs_loadinit), (gnome_vfs_preinit), (gnome_vfs_postinit): Call functions by their real names in the pthread library, rather than using back-end wrapper names. * libgnomevfs/gnome-vfs-backend.c: Removed. * libgnomevfs/gnome-vfs-backend.h: Removed most of the contents of this file. Later we can delete it completely. * test/Makefile.am: Removed the environment setup that made it so tests could find the back end. * test/test-async-cancel.c: Renamed things to reflect the fact that we count "jobs" not "threads". * libgnomevfs/gnome-vfs-async-ops.h: Get rid of "const GList *". * libgnomevfs-pthread/gnome-vfs-pthread.c: Formatting tweak. 2001-09-04 jacob berkman * modules/*.conf: remove lib prefix and .so suffix from the libraries as g_module_build_path() will add these for us * libgnomevfs/gnome-vfs-method.c (load_module_in_path_list): use g_module_build_path() to correctly get library suffix 2001-09-03 Maciej Stachowiak Put gnome-vfs-backend stuff all in one header and make it private. * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-app-context.c: * libgnomevfs/gnome-vfs-backend-private.h: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs/gnome-vfs-backend.h: 2001-09-03 Maciej Stachowiak Fix bug 8514 ([API] kill gnome-vfs-seekable) * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_new): * libgnomevfs/gnome-vfs-seekable.c: * libgnomevfs/gnome-vfs-seekable.h: 2001-09-02 Maciej Stachowiak * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): Don't warn on re-init (it's a harmless no-op) * libgnomevfs/gnome-vfs-init.h: Remove gnome_vfs_options declaration, since it's not defined anywhere anyway. 2001-09-01 Darin Adler * idl/.cvsignore: Remove this now that this directory is empty. * libgnomevfs/.cvsignore: No need to ignore metafile-related generated files since those files are gone. * libgnomevfs/Makefile.am: Remove more code that was part of the metafile support. * libgnomevfs/eel-cut-n-paste.c: * libgnomevfs/eel-cut-n-paste.h: * libgnomevfs/stolen-glib-extensions.c: * libgnomevfs/stolen-glib-extensions.h: Removed. 2001-09-01 Maciej Stachowiak * OUTSTANDING_API_ISSUES: Updated. 2001-09-01 Maciej Stachowiak * Makefile.am: * configure.in: * idl/Makefile.am: * idl/gnome-vfs-metafile-server.idl: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-metadata.c: * libgnomevfs/gnome-vfs-metadata.h: * libgnomevfs/gnome-vfs-metafile-backend.c: * libgnomevfs/gnome-vfs-metafile-backend.h: * libgnomevfs/gnome-vfs-metafile-factory.c: * libgnomevfs/gnome-vfs-metafile-factory.h: Remove metadata code from HEAD, with Seth's approval. 2001-08-31 Darin Adler * libgnomevfs/Makefile.am: * libgnomevfs/fnmatch.c: * libgnomevfs/fnmatch.h: Remove this unused code. * libgnomevfs/eel-cut-n-paste.c: * libgnomevfs/gnome-vfs-application-registry.c: (strip_trailing_whitespace): * libgnomevfs/gnome-vfs-configuration.c: (parse_line): * libgnomevfs/gnome-vfs-helpers.c: * libgnomevfs/gnome-vfs-i18n.c: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-magic.c: (read_string_val), (read_num_val), (eat_white_space), (gnome_vfs_mime_magic_parse), (print_escaped_string), (gnome_vfs_sniff_buffer_looks_like_text): * libgnomevfs/gnome-vfs-mime.c: (add_to_key), (mime_fill_from_file): * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-private-utils.c: (check_end): * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): * libgnomevfs/gnome-vfs-utils.c: * libgnomevfs/stolen-glib-extensions.c: * modules/cdda-cddb.c: (ChopWhite): * modules/cdda-method.c: * modules/ftp-method.c: (get_response), (do_read_directory): * modules/http-method.c: (parse_status), (header_value_to_number), (unescape_unreserved_chars): * modules/translate-method.c: (my_poptParseArgvString): * test/test-shell.c: Get rid of any use of and replace with the new g_ascii_* calls in glib. 2001-08-31 Darin Adler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_list_parse): Use g_ascii_isspace instead of isspace. This fixes the char subscript problem in an even better way, and makes sure we don't interpret spaces with locale-specific rules. * test/.cvsignore: Ignore this. 2001-08-27 Sander Vesik * libgnomevfs/gnome-vfs-uri.c: cast argument to isspace so -Werror does not cause breakage on solaris - using char as a subscript generates a warning. 2001-08-27 Martin Baulig * modules/file-method.c: Only #include if we HAVE_FAM. 2001-08-26 Maciej Stachowiak * OUTSTANDING_API_ISSUES: Added the rest of the bugs. 2001-08-26 Maciej Stachowiak * OUTSTANDING_API_ISSUES: Added a bunch of entries for bug reports in the gnome-vfs bug database that have API impact, and bug numbers for some things I filed. 2001-08-27 Abel Cheung * configure.in(ALL_LINGUAS): Rename zh_TW.Big5 to zh_TW. 2001-08-25 Ian McKellar * Makefile.am: * acconfig.h: * configure.in: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-monitor-private.h: * libgnomevfs/gnome-vfs-monitor.c: (init_hash_table), (gnome_vfs_monitor_do_add), (destroy_monitor_handle), (gnome_vfs_monitor_do_cancel), (actually_dispatch_callback), (gnome_vfs_monitor_callback): * libgnomevfs/gnome-vfs-monitor.h: * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_monitor_add), (gnome_vfs_monitor_cancel): * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_relative_new): * libgnomevfs/gnome-vfs.h: Added a file/directory monitoring API based off the FAM api. * modules/Makefile.am: * modules/file-method.c: (fam_callback), (monitor_setup), (do_monitor_add), (do_monitor_cancel): Added monitoring support to the file method using FAM. * test/Makefile.am: * test/test-monitor.c: (show_result), (callback), (main): Test program for monitoring support. * test/test-directory.c: (main): Build fix stuff. 2001-08-25 Darin Adler * libgnomevfs/Makefile.am: No such thing as $(builddir), so it makes no sense to pass -I$(builddir). 2001-08-25 Jim Garrison * doc/tmpl/async-ops.sgml: documented most commonly used async-ops Fri Aug 24 22:17:25 2001 George Lebl * libgnomevfs/gnome-vfs-uri.[ch]: Add function gnome_vfs_uri_list_parse, which is like the original gnome function gnome_uri_list_extract_uris. It parses text/uri-list and returns a GList of GnomeVFSURIs. Actually it is not just like that function it is basically exactly that function thanks to CutAndPaste(tm) technology. Thu Aug 23 11:33:48 2001 George Lebl * test/test-channel.c (io_channel_callback): Another s/guint/gsize/ 64bit fix Thu Aug 23 11:12:36 2001 George Lebl * libgnomevfs/gnome-vfs-process.c (wake_up), libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read) (serve_channel_write): 64bitness issues fixed. GIOChannel functions have size done in 'gsize' (64bit) and not 'guint' (32bit) 2001-08-21 Maciej Stachowiak * OUTSTANDING_API_ISSUES: Removed the filtering item, added one for renaming gnome-vfs-method. All changes below: removed the non-working and undesirable directory filtering feature. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (async_load_directory), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri): * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_op_destroy), (load_directory_details), (execute_load_directory): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_load_directory_uri), (gnome_vfs_async_load_directory): * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-directory-filter.c: * libgnomevfs/gnome-vfs-directory-filter.h: * libgnomevfs/gnome-vfs-directory.c: (gnome_vfs_directory_handle_new), (open_from_uri), (open), (gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri), (gnome_vfs_directory_open_from_uri_cancellable), (directory_visit_internal), (gnome_vfs_directory_visit_uri), (gnome_vfs_directory_visit), (gnome_vfs_directory_visit_files_at_uri), (gnome_vfs_directory_visit_files), (gnome_vfs_directory_list_load): * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-regexp-filter.c: * libgnomevfs/gnome-vfs-regexp-filter.h: * libgnomevfs/gnome-vfs-shellpattern-filter.c: * libgnomevfs/gnome-vfs-shellpattern-filter.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (empty_directory), (non_recursive_empty_directory), (gnome_vfs_visit_list), (directory_add_items_and_size), (create_directory), (copy_directory): * libgnomevfs/gnome-vfs.h: * modules/cdda-method.c: (do_open), (do_open_directory): * modules/extfs-method.c: (do_open_directory), (do_get_file_info): * modules/file-method.c: (directory_handle_new), (do_open_directory), (do_read_directory): * modules/ftp-method.c: (do_get_file_info), (do_open_directory): * modules/gconf-method.c: (directory_handle_new), (do_open_directory), (do_read_directory): * modules/http-method.c: (do_open_directory): * modules/ssh-method.c: (do_open_directory): * modules/test-method.c: (do_open_directory): * modules/translate-method.c: (tr_do_open_directory): * monikers/bonobo-storage-vfs.c: (vfs_list_contents): * test/test-async-cancel.c: (test_load_directory_cancel), (test_load_directory_fail): * test/test-async-directory.c: (main): * test/test-directory-visit.c: (main): * test/test-directory.c: (main): * test/test-shell.c: (do_ls), (validate_path), (get_regexp_name): 2001-08-21 Theo van Klaveren * libgnomevfs/gnome-vfs-inet-connection.c, libgnomevfs/gnome-vfs-mime.h, libgnomevfs/gnome-vfs-ls-parse.c, modules/file-method.c, modules/ftp-method.c, modules/http-method.c: Fix includes on FreeBSD by adding where needed, moving includes to below , moving above and replacing by . 2001-08-20 Maciej Stachowiak * configure.in: Check for bonobo-activation's IDL directory, not libbonobo's. * idl/Makefile.am, idl/gnome-vfs-slave.idl, idl/gnome-vfs-types.idl: Remove obsolete idl files. * idl/gnome-vfs-metafile-server.idl: Include Bonobo_Unknown.idl, not all of Bonobo.idl. 2001-08-19 Sri Ramkrishna * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private), (gnome_vfs_xfer_uri): Added new API docs to gnome-vfs-xfer. 2001-08-14 Michael Meeks * configure.in (BONOBO_ACTIVATION_REQUIRED): require 0.9.1 2001-08-10 Abel Cheung * configure.in: added zh_TW.Big5 to ALL_LINGUAS. (Please tell me if there is problem, the file is checked against gettext >= 0.10.36, and will produce error if gettext <= 0.10.35 is used) 2001-08-07 Martin Baulig * configure.in: Fix all the PKG_CHECK_MODULES checks. You need to check for all dependencies for any given target in a single PKG_CHECK_MODULES command, otherwise you'll get duplicate -ldl etc. into your *.la files. * */Makefile.am: Use the correct _LIBS and _CFLAGS. 2001-08-06 jacob berkman * modules/ftp-method.c (do_open_directory): do a CWD command so we can correctly return an error code when trying to open a file. 2001-08-06 Frederic Crozat * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_gzip): Fix detection of Koffice files (ie seen as gzipped files) 2001-08-03 Darin Adler * libgnomevfs/gnome-vfs.h: Remove extern "C" guards. The individual files take care of this. 2001-08-03 Darin Adler Made builds noticeably faster by not using catch-all includes like inside gnome-vfs sources. * libgnomevfs/Makefile.am: Add gnome-vfs-i18n.h, add G_DISABLE_DEPRECATED, get rid of unneeded -I directives. * libgnomevfs-pthread/Makefile.am: Add G_DISABLE_DEPRECATED, get rid of unneeded -I directives. * modules/Makefile.am: Add G_DISABLE_DEPRECATED, get rid of unneeded -I directives. Remove cdda-method.h, extfs-method.h, file-method.h, ssh-method.h, test-method.h, ftp-method.h, gconf-method.h, pipe-method.h, efs-method.h. * test/Makefile.am: Add G_DISABLE_DEPRECATED, get rid of unneeded -I directives. * libgnomevfs/gnome-vfs-app-context.c: (inherit_from_current): Don't use obsolete g_hash_table_freeze/thaw. * libgnomevfs/eel-cut-n-paste.c: (stolen_strcasecmp), (stolen_istr_has_prefix): * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_name), (gnome_vfs_backend_loadinit): * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_matches): * libgnomevfs/gnome-vfs-helpers.c: (istr_has_prefix), (is_valid_scheme_character), (gnome_vfs_x_make_uri_canonical): * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type), (sort_application_list): * libgnomevfs/gnome-vfs-mime-info.c: (does_string_contain_caps): * libgnomevfs/gnome-vfs-mime-magic.c: (read_hex_byte), (read_num_val): * libgnomevfs/gnome-vfs-mime.c: (list_find_type), (gnome_vfs_mime_type_from_name_or_default): * libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_istr_has_prefix), (gnome_vfs_istr_has_suffix): * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri), (get_method_string): * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): * modules/http-method.c: (check_header), (proxy_should_for_hostname), (connect_to_uri), (build_request), (make_request), (process_propfind_propstat): * modules/test-method.c: (get_operation_settings), (parse_result_text), (load_settings): * modules/translate-method.c: (tr_args_parse): * test/test-mime-handlers-set.c: (str_to_action_type), (str_to_bool): * test/test-shell.c: (simple_regexp), (do_cd), (main): Use new g_ascii calls instead of locale-sensitive ones from the standard library or the old deprecated glib ones. * libgnomevfs/gnome-vfs-process.c: (wake_up): * libgnomevfs-pthread/gnome-vfs-job.c: (serve_channel_read), (serve_channel_write): * test/test-channel.c: (io_channel_callback): Use g_io_channel_write_chars, g_io_channel_shutdown, and g_io_channel_read_chars instead of g_io_channel_write, g_io_channel_close, and g_io_channel_read. * libgnomevfs/gnome-vfs-private.h: Remove everything but the two path defines in here. * libgnomevfs/gnome-vfs-i18n.h: New file, contains i18n funtions that were previously in gnome-vfs-private.h. (They are still private.) * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_thread_backend_shutdown): Use g_main_context_iteration instead of g_main_iteration. * modules/extfs-method.c: (get_basename): * modules/ftp-method.c: (ls_to_file_info): Use g_path_get_basename instead of g_basename. * libgnomevfs/eel-cut-n-paste.c: * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs/gnome-vfs-cancellable-ops.c: * libgnomevfs/gnome-vfs-cancellation.c: * libgnomevfs/gnome-vfs-configuration.c: * libgnomevfs/gnome-vfs-directory-filter.c: * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-find-directory.c: * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-helpers.c: * libgnomevfs/gnome-vfs-i18n.c: * libgnomevfs/gnome-vfs-inet-connection.c: * libgnomevfs/gnome-vfs-init.c: * libgnomevfs/gnome-vfs-iobuf.c: * libgnomevfs/gnome-vfs-method.c: * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-parse-ls.c: * libgnomevfs/gnome-vfs-process.c: * libgnomevfs/gnome-vfs-regexp-filter.c: * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-seekable.c: * libgnomevfs/gnome-vfs-shellpattern-filter.c: * libgnomevfs/gnome-vfs-ssl.c: * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-utils.c: * libgnomevfs/gnome-vfs-xfer.c: * libgnomevfs/stolen-glib-extensions.c: * libgnomevfs-pthread/gnome-vfs-async-job-map.c: * libgnomevfs-pthread/gnome-vfs-async-job-map.h: * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job-slave.c: * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-thread-pool.c: * modules/bzip2-method.c: * modules/cdda-cddb.c: * modules/cdda-cddb.h: * modules/cdda-method.c: * modules/efs-method.c: * modules/extfs-method.c: * modules/file-method.c: * modules/ftp-method.c: * modules/gconf-method.c: * modules/gzip-method.c: * modules/http-authn.c: * modules/http-cache.c: * modules/http-method.c: * modules/http-method.h: * modules/nfs-method.c: * modules/pipe-method.c: * modules/ssh-method.c: * modules/test-method.c: * modules/translate-method.c: * test/test-async-cancel.c: * test/test-async-directory.c: * test/test-async.c: * test/test-callback.c: * test/test-channel.c: * test/test-directory-visit.c: * test/test-directory.c: * test/test-dirop.c: * test/test-escape.c: * test/test-find-directory.c: * test/test-info.c: * test/test-mime-handlers-set.c: * test/test-mime-handlers.c: * test/test-mime-info.c: * test/test-mime.c: * test/test-module-selftest.c: * test/test-seek.c: * test/test-shell.c: * test/test-ssl.c: * test/test-symlinks.c: * test/test-sync-create.c: * test/test-sync-write.c: * test/test-sync.c: * test/test-unlink.c: * test/test-uri.c: * test/test-xfer.c: Fix includes. * modules/cdda-method.h: Removed. * modules/efs-method.h: Removed. * modules/extfs-method.h: Removed. * modules/file-method.h: Removed. * modules/ftp-method.h: Removed. * modules/gconf-method.h: Removed. * modules/pipe-method.h: Removed. * modules/ssh-method.h: Removed. 2001-08-02 Darin Adler * Makefile.am: Added the test directory back in. Got rid of the cases for GNOME 1, removed vfsConf.sh and gnome-vfs-config. Remove intl directory. * OUTSTANDING_API_ISSUES: Added some new issues. * acconfig.h: Removed HAVE_GCONF. * configure.in: Removed the EAZEL_VERSION macros since we use pkgconfig now. Removed the GNOME platform autodetect. Removed all the GNOME 1 cases. Use PKG_CHECK_MODULES instead of GNOME_PKGCONFIG_CHEC_MODULES. Remove lots of unused CFLAGS and LIBS defines. Remove intl directory. Removed HAVE_GCONF. * gnome-vfs-config.in: Removed. * vfsConf.sh.in: Removed. * libgnomevfs/Makefile.am: Put non-installed headers into SOURCES rather than noinst_HEADERS as recommended by automake documentation. * libgnomevfs-pthread/gnome-vfs-pthread.h: * libgnomevfs/eel-cut-n-paste.h: * libgnomevfs/gnome-vfs-app-context.h: * libgnomevfs/gnome-vfs-application-registry.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.h: * libgnomevfs/gnome-vfs-callbacks.h: * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-cancellation.h: * libgnomevfs/gnome-vfs-configuration.h: * libgnomevfs/gnome-vfs-context.h: * libgnomevfs/gnome-vfs-directory-filter.h: * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-find-directory.h: * libgnomevfs/gnome-vfs-handle.h: * libgnomevfs/gnome-vfs-helpers.h: * libgnomevfs/gnome-vfs-inet-connection.h: * libgnomevfs/gnome-vfs-init.h: * libgnomevfs/gnome-vfs-iobuf.h: * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime-magic.h: * libgnomevfs/gnome-vfs-mime-private.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-module-api.h: * libgnomevfs/gnome-vfs-module-shared.h: * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-parse-ls.h: * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-private.h: * libgnomevfs/gnome-vfs-process.h: * libgnomevfs/gnome-vfs-regexp-filter.h: * libgnomevfs/gnome-vfs-result.h: * libgnomevfs/gnome-vfs-seekable.h: * libgnomevfs/gnome-vfs-shellpattern-filter.h: * libgnomevfs/gnome-vfs-socket-buffer.h: * libgnomevfs/gnome-vfs-socket.h: * libgnomevfs/gnome-vfs-ssl-private.h: * libgnomevfs/gnome-vfs-ssl.h: * libgnomevfs/gnome-vfs-standard-callbacks.h: * libgnomevfs/gnome-vfs-transform.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.h: * libgnomevfs/stolen-glib-extensions.h: Added G_BEGIN_DECLS and G_END_DECLS to all public headers. Removed unnecessary includes. * libgnomevfs/gnome-vfs-app-context.c: * libgnomevfs/gnome-vfs-helpers.c: * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-private-utils.c: * libgnomevfs/gnome-vfs-socket-buffer.c: * libgnomevfs/gnome-vfs-socket.c: * libgnomevfs/stolen-glib-extensions.c: * modules/bzip2-method.c: * modules/cdda-cddb.c: * modules/gzip-method.c: * modules/http-authn.c: * modules/http-authn.h: * modules/http-cache.c: * modules/pipe-method.c: * modules/ssh-method.c: Added includes that are needed now that headers drag fewer of them in. * modules/cdda-cddb.h: * modules/cdda-method.h: Got rid of include of gtk.h. * libgnomevfs/gnome-vfs-mime-handlers.c: (unref_gconf_engine), (get_user_level): * modules/ftp-method.c: (vfs_module_init): Removed HAVE_GCONF. * modules/file-method.c: * modules/http-method.c: * modules/test-method.c: Removed GNOME_PLATFORM_VERSION. * test/Makefile.am: Removed VFS_GNOMEUI_CFLAGS and VFS_GNOMEGNORBA_LIBS. * test/test-async-cancel.c: (wait_for_boolean), (wait_until_vfs_threads_gone), (wait_until_file_descriptors_gone), (my_yield), (main): * test/test-async-directory.c: (directory_load_callback), (main): * test/test-async.c: (close_callback), (read_callback), (open_callback), (main): * test/test-callback.c: (main): * test/test-channel.c: (io_channel_callback), (main): * test/test-directory-visit.c: * test/test-directory.c: (main): * test/test-escape.c: * test/test-info.c: * test/test-mime-handlers-set.c: (main): * test/test-mime-handlers.c: (print_component), (main): * test/test-mime-info.c: * test/test-shell.c: (main): * test/test-symlinks.c: (create_link_callback), (main): * test/test-uri.c: * test/test-xfer.c: (main): Converted tests so they no longer require gtk+ or libgnomeui. 2001-08-02 Maciej Stachowiak * OUTSTANDING_API_ISSUES: Add a fe bug numbers. * doc/outstanding-api-issues.txt: Actually remove this. ==== gnome-vfs 1.1 ==== 2001-08-02 Seth Nickell * OUTSTANDING_API_ISSUES: Add more descriptive text so application developers have a better idea what to avoid using. * modules/cdda-cddb.h: * modules/cdda-method.h: Remove gtk includes. 2001-08-02 Seth Nickell * OUTSTANDING_API_ISSUES: * doc/outstanding-api-issues.txt: Move outstanding-api-issues.txt to the main directory. * README: Contain notice of OUTSTANDING_API_ISSUES. 2001-08-02 Seth Nickell * libgnomevfs/gnome-vfs-metafile-backend.c: (corba_get_list), (corba_set_list), (find_monitor_node), (corba_register_monitor), (corba_unregister_monitor), (gnome_vfs_metafile_notify_metafile_ready), (call_metafile_changed), (file_list_filler_ghfunc), (call_metafile_changed_for_all_files_mentioned_in_metafile), (call_metafile_changed_for_one_file): * libgnomevfs/gnome-vfs-metafile-backend.h: Sigh. Compile happily...(rename to new idl namespace). 2001-08-02 Michael Meeks * doc/Makefile.am (dist-hook): fix directory creation brokenness. * modules/ssh-method.c: kill gtk include. * modules/ftp-method.c: ditto. * modules/cdda-method.c: kill gtk crud. * modules/http-method.c: ditto. * modules/gconf-method.c (vfs_module_init): kill curious gtk type inits - gconf doesn't use gtk anymore. (vfs_module_shutdown): ditto. * libgnomevfs-pthread/gnome-vfs-job-slave.c: kill gtk include (gnome_vfs_thread_backend_shutdown): and gtk cruft. * libgnomevfs/gnome-vfs-metafile-backend.c: basic port to GObject, try and contain the madness a little. * libgnomevfs/gnome-vfs-mime-info.c: don't include gtkmain.h * libgnomevfs/gnome-vfs-mime-monitor.c: remove curious unused parent class setting, port to GObject, clean hard core cruft. * libgnomevfs/gnome-vfs-mime-monitor.h: include a class structure, what was someone smoking here ? * configure.in: don't depend on Gtk+ - that's just broken. * libgnomevfs/Makefile.am (noinst_HEADERS): add eel-cut-n-paste.h, stolen-glib-extensions.h and gnome-vfs-metafile-backend.h (libgnomevfsinclude_HEADERS): install gnome-vfs-metafile.h * Makefile.am (SUBDIRS): add 'intl'. 2001-08-01 Seth Nickell * idl/gnome-vfs-metafile-server.idl: Change from GnomeVFS_ namespace to GNOME_VFS_. * libgnomevfs/gnome-vfs-metadata.c: (get_factory), (gnome_vfs_metafile_load), (gnome_vfs_metafile_unref), (gnome_vfs_metadata_get_string), (gnome_vfs_metadata_get_integer), (gnome_vfs_metadata_get_boolean), (gnome_vfs_metadata_set_string), (gnome_vfs_metadata_set_integer), (gnome_vfs_metadata_set_boolean): * libgnomevfs/gnome-vfs-metadata.h: Add an initial cut at a Metadata API. DO NOT DEPEND ON THIS API, IT IS NOT FROZEN (and won't even work right now, so you won't get very far, headers are not installed and it is not compiled in...checking in so Ian and I can work together better). Known changes will occur in the API. Also, the IDL file will be renamed to better match its module scopes (changes suggested by Michael). 2001-08-02 Michael Meeks * port to bonobo-activation. 2001-08-01 Jonas Borgström * libgnomevfs/gnome-vfs-ssl.c (gnome_vfs_ssl_create): Split the HAVE_OPENSSL #ifdef into two. So the function gnome_vfs_ssl_create_from_fd will exist (but only return GNOME_VFS_ERROR_NOT_SUPPORTED) even if HAVE_OPENSSL isn't defined. Or else we will get unresolved symbols in libhttp.so 2001-07-29 Maciej Stachowiak * doc/outstanding-api-issues.txt: Added a few more issues. 2001-07-29 Maciej Stachowiak * doc/outstanding-api-issues.txt: Add list of outstnading API issues (perhaps not all of these are for GNOME 2). 2001-07-29 Seth Nickell * bonobo-storage-fs.c: * bonobo-storage-vfs.c: * bonobo-stream-fs.c: * bonobo-stream-vfs.c: Make it actually compile ;-) Still had includes to parts of libgnome. 2001-07-29 Seth Nickell * libgnomevfs/Makefile.am: Remove link and include variables that were no longer in use. 2001-07-29 Seth Nickell * doc/about.sgml: Change some of the text a little, add a few programming examples. 2001-07-29 Michael Meeks * Makefile.am (SUBDIRS_GNOME): add monikers. * configure.in: add monikers/ 2001-07-27 Darin Adler Get things compiling again. * idl/gnome-vfs-metafile-server.idl: Don't use a typedef for URI, just use "string" directly. The IDL compiler doesn't handle the typedef case properly. * libgnomevfs/.cvsignore: Ignore the new generated files. * libgnomevfs/eel-cut-n-paste.c: Add missing include. * libgnomevfs/gnome-vfs-metafile-backend.h: Change xml includes to use , not . * libgnomevfs/gnome-vfs-metafile-backend.c: Add missing include. Change xml includes to use , not . (destroy), (gnome_vfs_metafile_get), (corba_get_list), (corba_copy), (metadata_value_new_list), (metadata_value_destroy), (metadata_value_equal), (get_metadata_list_from_table), (can_use_public_metafile), (metafile_read_check_for_directory_callback), (metafile_read_restart), (metafile_read_start), (directory_request_write_metafile): Put code that's not ready yet inside "#ifdef METAFILE_CODE_READY". * configure.in: Turn -Werror back on and get rid of lame old $(WERROR) hack. * libgnomevfs-pthread/Makefile.am: * libgnomevfs/Makefile.am: * modules/Makefile.am: * test/Makefile.am: Get rid of the lame old $(WERROR) hack. 2001-07-26 Seth Nickell * configure.in: Add Bonobo dependency. Comment out -Werror because ORBit2 or libidl is generating stubs with a few warnings. Should be the only warnings though, so watch carefully when you compile!. * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/shellpattern-filter.sgml: * doc/tmpl/xfer.sgml: Ask the documentation system! * idl/Makefile.am: Add gnome-vfs-metafile-server.idl * idl/gnome-vfs-metafile-server.idl: err. Add gnome-vfs-metafile-server.idl * libgnomevfs/Makefile.am: Add the eel cut-n-paste code, and the new metafile stuff, as well as actually using the idl file. * libgnomevfs/gnome-vfs-metafile-backend.c: (gnome_vfs_metafile_class_init), (gnome_vfs_metafile_init), (destroy), (construct_private_metafile_vfs_uri), (gnome_vfs_metafile_set_directory_uri), (gnome_vfs_metafile_new), (gnome_vfs_metafile_make_uri_canonical), (gnome_vfs_metafile_get), (schedule_next_read), (async_read_start), (async_read_done), (async_read_cancel), (corba_is_read), (corba_get), (corba_get_list), (corba_set), (corba_set_list), (corba_copy), (corba_remove), (corba_rename), (corba_rename_directory), (find_monitor_node), (corba_register_monitor), (corba_unregister_monitor), (gnome_vfs_metafile_notify_metafile_ready), (call_metafile_changed), (file_list_filler_ghfunc), (call_metafile_changed_for_all_files_mentioned_in_metafile), (call_metafile_changed_for_one_file), (get_metadata_from_node), (get_metadata_list_from_node), (create_metafile_root), (get_file_node), (get_metadata_string_from_metafile), (get_metadata_list_from_metafile), (set_metadata_string_in_metafile), (set_metadata_list_in_metafile), (metadata_value_new), (metadata_value_new_list), (metadata_value_destroy), (metadata_value_equal), (set_metadata_in_metafile), (get_metadata_string_from_table), (get_metadata_list_from_table), (str_or_null_hash), (str_or_null_equal), (set_metadata_eat_value), (free_file_table_entry), (free_directory_table_entry), (destroy_metadata_changes_hash_table), (destroy_xml_string_key), (metafile_free_metadata), (get_file_metadata), (get_file_metadata_list), (set_file_metadata), (set_file_metadata_list), (rename_file_metadata), (apply_one_change), (apply_file_changes), (apply_one_file_changes), (gnome_vfs_metafile_apply_pending_changes), (copy_file_metadata), (remove_file_metadata), (gnome_vfs_metafile_set_metafile_contents), (metafile_read_cancel), (can_use_public_metafile), (metafile_read_mark_done), (metafile_read_done), (metafile_read_try_public_metafile), (metafile_read_check_for_directory_callback), (metafile_read_check_for_directory), (metafile_read_failed), (metafile_read_done_callback), (metafile_read_restart), (metafile_read_start), (metafile_write_done), (metafile_write_failed), (metafile_write_failure_close_callback), (metafile_write_success_close_callback), (metafile_write_callback), (metafile_write_create_callback), (metafile_write_start), (metafile_write), (metafile_write_idle_callback), (directory_request_write_metafile): * libgnomevfs/gnome-vfs-metafile-backend.h: Add the metafile backend from Nautilus and hack it up so it works in GnomeVFS. Interfaces should be the same, and it shouldn't depend on eel (whew, that was a pile of boring work). * libgnomevfs/gnome-vfs-metafile-factory.c: (nautilus_metafile_factory_class_init), (nautilus_metafile_factory_init), (destroy), (nautilus_metafile_factory_new), (free_factory_instance), (nautilus_metafile_factory_get_instance), (corba_open): * libgnomevfs/gnome-vfs-metafile-factory.h: Add the metafile factory from Nautilus and hack it up so it works in GnomeVFS. Interfaces should be the same, and it shouldn't depend on eel (whew, that was a pile of boring work). * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_list_free), (is_uri_partial), (gnome_vfs_uri_make_full_from_relative): * libgnomevfs/gnome-vfs-uri.h: Add some code that was formerly in eel-vfs-extensions but really belongs in GnomeVFSURI. * po/ChangeLog: * libgnomevfs/eel-cut-n-paste.c: (stolen_strcasecmp), (stolen_strcmp_case_breaks_ties), (stolen_strcoll), (stolen_xml_remove_node), (stolen_str_has_prefix), (stolen_istr_has_prefix), (stolen_str_strip_trailing_chr), (stolen_strcmp), (stolen_str_is_empty), (stolen_xml_get_root_children), (stolen_xml_get_children), (stolen_xml_get_property_for_children): * libgnomevfs/eel-cut-n-paste.h: Functions snitched from eel to make the metafile backend compile. * libgnomevfs/gnome-vfs-helpers.c: (stolen_strcmp), (str_is_equal), (str_has_prefix), (istr_has_prefix), (gnome_vfs_x_read_entire_file), (read_file_close_callback), (read_file_close), (read_file_succeeded), (read_file_failed), (read_file_read_callback), (read_file_read_chunk), (read_file_open_callback), (pthread_gnome_vfs_x_read_file_callback_idle_binder), (pthread_gnome_vfs_x_read_file_callback_common), (pthread_gnome_vfs_x_read_file_synchronous_callback), (pthread_gnome_vfs_x_read_file_asynchronous_callback), (pthread_gnome_vfs_x_read_file_thread_entry), (pthread_gnome_vfs_x_read_file_async), (pthread_gnome_vfs_x_read_file_async_cancel), (gnome_vfs_x_read_file_async), (gnome_vfs_x_read_entire_file_async), (gnome_vfs_x_read_file_cancel), (gnome_vfs_x_uri_is_trash), (gnome_vfs_x_uri_is_trash_folder), (gnome_vfs_x_uri_is_in_trash), (gnome_vfs_x_format_uri_for_display), (is_valid_scheme_character), (has_valid_scheme), (gnome_vfs_x_make_uri_from_input), (file_uri_from_local_relative_path), (gnome_vfs_x_make_uri_from_shell_arg), (gnome_vfs_x_uri_get_basename), (gnome_vfs_x_uri_get_scheme), (gnome_vfs_x_uri_is_local_scheme), (gnome_vfs_x_handle_trailing_slashes), (gnome_vfs_x_make_uri_canonical), (gnome_vfs_x_make_uri_canonical_strip_fragment), (gnome_vfs_x_make_uri_from_half_baked_uri), (uris_match), (gnome_vfs_x_uris_match), (gnome_vfs_x_uris_match_ignore_fragments), (gnome_vfs_x_is_remote_uri), (gnome_vfs_x_make_directory_and_parents), (gnome_vfs_x_copy_uri_simple): * libgnomevfs/gnome-vfs-helpers.h: GnomeVFSHelpers used to be eel-vfs-extensions. Now moved into GnomeVFS. It needs to have the checks re-enabled...but I'm working on that. * libgnomevfs/stolen-glib-extensions.c: (stolen_g_list_exactly_one_item), (stolen_g_list_more_than_one_item), (stolen_g_list_equal), (stolen_g_list_copy), (stolen_g_str_list_equal), (stolen_g_str_list_copy), (stolen_g_str_list_alphabetize), (stolen_g_list_free_deep_custom), (stolen_g_list_free_deep), (stolen_g_list_safe_for_each), (stolen_g_list_sort_merge), (stolen_g_list_is_already_sorted), (stolen_g_list_sort_custom), (compare_pointers), (stolen_g_lists_sort_and_check_for_intersection), (stolen_g_list_partition), (print_key_string), (free_hash_tables_at_exit), (stolen_g_hash_table_new_free_at_exit), (flatten_hash_table_element), (stolen_g_hash_table_safe_for_each), (stolen_g_hash_table_remove_deep_custom), (stolen_g_hash_table_remove_deep), (destroy_deep_helper), (stolen_g_hash_table_destroy_deep_custom), (stolen_g_hash_table_destroy_deep): * libgnomevfs/stolen-glib-extensions.h: Snitched some necessary hash table and list glib extensions from eel and made them work without the rest of eel. :-P 2001-07-25 Maciej Stachowiak Fix bug 8296 (News Sidebar crashes when not connected to network), a bunch of other News panel instability, and a bug where Nautilus would totally crash on entering an invalid http URI in the location bar: * modules/http-method.c: (make_request): initialize socket_buffer to NULL; if this is not done it will be left set to garbage if `connect_to_uri' fails so that subsequent attempts to close the destroy the socket buffer will crash. 2001-07-18 Martin Baulig * libgnomevfs/gnome-vfs-module-shared.c: Move the #include "gnome-vfs-module-shared.h" after the #define of _BSD_SOURCE and _LARGEFILE64_SOURCE. * libgnomevfs/gnome-vfs-utils.c: #include before . 2001-07-17 Chema Celorio * configure.in: add a message that displays the target GNOME platform, either 1.x or 2.0 2001-07-16 Darin Adler Finished deprecating gnome-vfs-types.h. * libgnomevfs/fnmatch.c: * libgnomevfs/gnome-vfs-app-context.c: * libgnomevfs/gnome-vfs-app-context.h: * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-application-registry.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend-private.h: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs/gnome-vfs-callbacks.h: * libgnomevfs/gnome-vfs-cancellable-ops.c: * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-cancellation.c: * libgnomevfs/gnome-vfs-context.c: * libgnomevfs/gnome-vfs-directory-filter.c: * libgnomevfs/gnome-vfs-directory-filter.h: * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-file-size.h.in: * libgnomevfs/gnome-vfs-find-directory.c: * libgnomevfs/gnome-vfs-find-directory.h: * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-handle.h: * libgnomevfs/gnome-vfs-inet-connection.c: * libgnomevfs/gnome-vfs-inet-connection.h: * libgnomevfs/gnome-vfs-init.c: * libgnomevfs/gnome-vfs-init.h: * libgnomevfs/gnome-vfs-iobuf.c: * libgnomevfs/gnome-vfs-iobuf.h: * libgnomevfs/gnome-vfs-method-type.h: * libgnomevfs/gnome-vfs-method.c: (load_module): * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-mime-private.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-module-api.h: * libgnomevfs/gnome-vfs-module-shared.c: * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-parse-ls.c: * libgnomevfs/gnome-vfs-parse-ls.h: * libgnomevfs/gnome-vfs-private-utils.c: * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-private.h: * libgnomevfs/gnome-vfs-process.c: * libgnomevfs/gnome-vfs-process.h: * libgnomevfs/gnome-vfs-regexp-filter.c: * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-seekable.c: * libgnomevfs/gnome-vfs-seekable.h: * libgnomevfs/gnome-vfs-shellpattern-filter.c: * libgnomevfs/gnome-vfs-shellpattern-filter.h: * libgnomevfs/gnome-vfs-socket-buffer.c: * libgnomevfs/gnome-vfs-socket.c: * libgnomevfs/gnome-vfs-socket.h: * libgnomevfs/gnome-vfs-ssl.c: * libgnomevfs/gnome-vfs-ssl.h: * libgnomevfs/gnome-vfs-standard-callbacks.h: * libgnomevfs/gnome-vfs-transform.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-utils.c: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.c: * libgnomevfs/gnome-vfs-xfer.h: * libgnomevfs/gnome-vfs.h: * modules/Makefile.am: * modules/bzip2-method.c: * modules/cdda-method.c: * modules/ftp-method.c: * modules/gzip-method.c: * modules/http-authn.h: * modules/http-cache.h: * modules/translate-method.c: * test/test-module-selftest.c: * test/test-uri.c: More changes to includes so that nothing inside gnome-vfs itself ever includes gnome-vfs-types.h. Also make sure that all .c files include the corresponding .h file first, so we know that the files have enough includes to stand alone. Also switched from size_t and ssize_t to gsize and gssize in most places. * libgnomevfs/gnome-vfs-async-ops.c: * libgnomevfs/gnome-vfs-callbacks.c: * libgnomevfs/gnome-vfs-module-api.c: * libgnomevfs/gnome-vfs-module.c: * libgnomevfs/gnome-vfs-private.c: * libgnomevfs/gnome-vfs-transform.c: For testing purposes, made files that just include a particular header for public headers that have no corresponding .c file. This tests that the headers have enough includes to stand alone. * libgnomevfs/gnome-vfs-configuration.c: (configuration_load): Change code to not use alloca any more, and handle a too-big configuration file without resulting in buffer overflow. * libgnomevfs/gnome-vfs-method-type.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-socket-private.h: * modules/bzip2-method.h: * modules/gzip-method.h: Removed some unneeded files. * libgnomevfs/Makefile.am: Updated to reflect changes above. 2001-07-16 Darin Adler * modules/gconf-method.c: Fix const bug in code that was not being compiled because HAVE_GCONF was off. 2001-07-16 Darin Adler * modules/Makefile.am: Had to remove HAVE_GCONF from here to make things build again. * AUTHORS: Updated my email address. 2001-07-15 Darin Adler The checks for gconf were always coming out false due to differences in name (gconf vs. gconf-2, etc.). So I re-enabled the dependency on gconf. Since gconf seems to be working for GNOME 2 now I hope this is not a problem. * configure.in: Always require GCONF and define HAVE_GCONF. 2001-07-14 Anders Carlsson * libgnomevfs/gnome-vfs-mime-handlers.c (join_str_list): Remove a duplicate call to g_new. 2001-07-12 Darin Adler * .cvsignore: Ignore sgml directory too. 2001-07-12 Laszlo Peter Fix some portability issues. * libgnomevfs/gnome-vfs-ssl.c: a struct needs to have a member. * libgnomevfs/gnome-vfs-context.c: use G_GNUC_FUNCTION instead of __FUNCTION__. 2001-07-11 Martin Baulig We now require autoconf 2.50b on the GNOME 2 platform. You can get it from either alpha.gnu.org or ftp://master.gnome.org/people/martin/vicious-bootstraps. * acinclude.m4: Make this work with autoconf 2.50b. * configure.in: Require autoconf 2.50b. 2001-07-06 Havoc Pennington * libgnomevfs/gnome-vfs-uri.c (uri_matches_as_parent): handle case where uri->text is NULL 2001-07-09 Ramiro Estrugo * libgnomevfs/gnome-vfs-file-info.h: Include some needed dependencies to fix breakage caused by the last bunch of checkins. 2001-07-07 Seth Nickell * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-types.h: Tweak includes a little more. * modules/pipe-method.c: * modules/ssh-method.c: Make modules include more cleanly. 2001-07-07 Seth Nickell Deprecate (other than a couple structs I didn't find a home for) gnome-vfs-types.h in favour of having types distributed throughout corresponding .h files. The primary motivation for this is to achieve better docs: rather than clustering all the type declarations into a big muddy section called "Types", types are defined in relavent sections. Secondary effects are a more obvious include path and the ability to include more files independently. * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/types.sgml: * doc/tmpl/uri.sgml: * doc/tmpl/utils.sgml: * doc/tmpl/xfer.sgml: gtk-doc has updated the base sgml files to deal with the new locations of declarations. * libgnomevfs/Makefile.am: Add gnome-vfs-callbacks.h, gnome-vfs-transform.h, and gnome-vfs-method-type.h to the include header list. * libgnomevfs/gnome-vfs-app-context.c: * libgnomevfs/gnome-vfs-app-context.h: * libgnomevfs/gnome-vfs-application-registry.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs/gnome-vfs-callbacks.h: * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-cancellation.h: * libgnomevfs/gnome-vfs-context.c: * libgnomevfs/gnome-vfs-context.h: * libgnomevfs/gnome-vfs-directory-filter.h: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-find-directory.h: * libgnomevfs/gnome-vfs-handle.h: * libgnomevfs/gnome-vfs-inet-connection.h: * libgnomevfs/gnome-vfs-iobuf.h: * libgnomevfs/gnome-vfs-method-type.h: * libgnomevfs/gnome-vfs-method.c: * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-module-shared.h: * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-regexp-filter.h: * libgnomevfs/gnome-vfs-result.h: * libgnomevfs/gnome-vfs-shellpattern-filter.h: * libgnomevfs/gnome-vfs-socket.h: * libgnomevfs/gnome-vfs-transform.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.h: * libgnomevfs/gnome-vfs.h: Shuffling around includes and struct declerations to achieve the cleanest arrangement that also minimizes changes to applications like Nautilus that already heavily depend on GnomeVFS. 2001-07-05 Darin Adler * libgnomevfs/gnome-vfs-ssl.c: Added missing include. 2001-07-04 Ramiro Estrugo * configure.in: Dont use 'glib-config-2.0' when building in the GNOME2 platform. There is no such config script anymore because these are history in the GNOME2 platform. Use pkgconfig technology instead. Continue to use 'glib-config' for the GNOME1 platform. 2001-07-02 Seth Nickell * configure.in: Fix ORBit configuration problem on GNOME1 platform. * po/ChangeLog: Long live stupid gettext. 2001-06-26 Darin Adler * .cvsignore: Ignore ABOUT-NLS, but not obsolete *Conf.sh files. * Makefile.am: Eliminate vfspthreadConf.sh. * vfscorbaConf.sh.in: Remove. * vfspthreadConf.sh.in: Remove. * devel-docs/.cvsignore: Remove since this is now an empty directory. * devel-docs/gnome-vfs/.cvsignore: Remove since this is now an empty directory. * libgnomevfs/gnome-vfs-ops.h: Add include of gnome-vfs-types.h so you can include this header on its own. 2001-06-25 Sri Ramkrishna Rolled changes from HEAD. * libgnomevfs/gnome-vfs-application-registry.c: Added gtkdocs for gnome_vfs_application_registry_* 2001-06-20 Peter Williams * configure.in (autodetected_gnome_2): Fix a syntax error in the test expression. 2001-06-19 Peter Williams * gnome-vfs-2.0.pc.in (prefix): Fix totally broken prefix=/gnome/head/INSTALL. Whoops. 2001-06-15 Havoc Pennington * modules/gconf-method.c (do_get_file_info): fix one mem leak and one use of uninitialized memory. (do_open_directory): compensate for GConf's list-absolute-paths-in-directories braindamage 2001-06-15 Martin Baulig If we ever need to revert this (for instance, when GConf is fixed for GNOME 2), the patch is at http://cip.uni-trier.de/baulig/misc/gnome-vfs.optional-gconf.patch. * configure.in: Made the GConf dependency optional. At least temporarily, we need to make GConf optional in the GNOME 2.0 core libraries as it blocks testing on a GNOME 1.x desktop. (HAVE_GCONF): New automake conditional. * libgnomevfs/gnome-vfs-mime-handlers.c (get_user_level): Always return "novice" if we don't HAVE_GCONF. * modules/Makefile.am: Only compile the gconf and http modules if we HAVE_GCONF. * modules/ftp-method.c (vfs_module_init): Don't initialize GConf if we don't have it. 2001-06-11 Carlos Perelló Marín * modules/cdda-method.c: Fixed to compile with Gtk 2.0 2001-06-10 Ian McKellar * libgnomevfs/gnome-vfs-standard-callbacks.h: Initial work to add a status-message callback. * libgnomevfs/gnome-vfs-uri.c: (is_uri_relative), (remove_internal_relative_components), (make_full_uri_from_relative), (gnome_vfs_uri_relative_new): * libgnomevfs/gnome-vfs-uri.h: Added gnome_vfs_uri_relative_new which does relative URI resolution. * modules/Makefile.am: * modules/default-modules.conf: * modules/ssh-method.c: (ssh_connect), (ssh_destroy), (ssh_read), (ssh_write), (ssh_escape), (ssh_send), (do_open), (do_create), (do_close), (do_read), (do_write), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_is_local), (vfs_module_init), (vfs_module_shutdown): * modules/ssh-method.h: Added ssl-method. Its currently quite primitive and only works if you don't need password authentication (ie: you are running ssh-agent and have your key in the remote machine's authorized keys) * modules/ssl-modules.conf: I forgot to upload this before :( Thanks Robin. * test/test-callback.c: (main): Allow the test URI to be specified. 2001-06-07 Robin * Slomkowski * modules/ssl-modules.conf: created this so the build would work. 2001-06-06 Glynn Foster * libgnomevfs/gnome-vfs-directory.c: gnome_vfs_directory_list_load (..) Add a petty code comment so that people looking at the API's don't have to root around the code trying to figure what is returned in the GList 2001-06-06 Seth Nickell * doc/about.sgml: * doc/tmpl/gnome-vfs-unused.sgml: ... thanks Havoc. 2001-06-03 Maciej Stachowiak * libgnomevfs/gnome-vfs-socket-buffer.h, libgnomevfs/gnome-vfs-socket-buffer.c (buffer_init, gnome_vfs_socket_buffer_new, gnome_vfs_socket_buffer_destroy, refill_input_buffer, gnome_vfs_socket_buffer_read, gnome_vfs_socket_buffer_peekc, flush, gnome_vfs_socket_buffer_write, gnome_vfs_socket_buffer_flush): Completed reverse-engineering. * libgnomevfs/gnome-vfs-socket.h, libgnomevfs/gnome-vfs-socket.c (gnome_vfs_socket_write, (gnome_vfs_socket_read: Related cleanups. * modules/http-method.c (xmit_request, http_handle_close): Style fixes. 2001-06-03 Maciej Stachowiak * libgnomevfs/gnome-vfs-socket.h, libgnomevfs/gnome-vfs-socket.c (gnome_vfs_socket_new, gnome_vfs_socket_write, gnome_vfs_socket_close, gnome_vfs_socket_read): Continued Seth's reverse-engineering of the missing pieces of Ian's SSL code. * libgnomevfs/gnome-vfs-inet-connection.c (gnome_vfs_inet_connection_destroy, gnome_vfs_inet_connection_close): Minor tweaks. * libgnomevfs/gnome-vfs-ssl.c (gnome_vfs_ssl_destroy): Likewise. * ABOUT-NLS: Removed (this is added by autogen). 2001-06-03 Seth Nickell * doc/Makefile.am: * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: * doc/tmpl/uri.sgml: * doc/writing-modules.sgml: Start writing more "tutorial like" documentation for basic I/O operations. * libgnomevfs/gnome-vfs-socket-buffer.c: (gnome_vfs_socket_buffer_new), (gnome_vfs_socket_buffer_read), (gnome_vfs_socket_buffer_peekc), (gnome_vfs_socket_buffer_write), (gnome_vfs_socket_buffer_flush), (gnome_vfs_socket_buffer_destroy): * libgnomevfs/gnome-vfs-socket-buffer.h: * libgnomevfs/gnome-vfs-socket.c: (gnome_vfs_socket_write), (gnome_vfs_socket_close), (gnome_vfs_socket_read): * libgnomevfs/gnome-vfs-socket.h: Write skeletons for functions to get http-method to compile. ***WARNING*** - http is probably broken at this point!!! 2001-06-02 Seth Nickell * doc/gnome-vfs-docs.sgml: * doc/gnome-vfs-sections.txt: * doc/tmpl/directory.sgml: * doc/tmpl/find-directory.sgml: * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/ssl.sgml: * doc/tmpl/types.sgml: * doc/tmpl/uri.sgml: Add some more descrptions, shuffle functions around between files to reduce the number of sections. * libgnomevfs/gnome-vfs-constants.h: Move the four constants contained in this file to gnome-vfs-uri.h (which is a better home anyway) and remove the file. * libgnomevfs/gnome-vfs-uri.h: Move some constants here from gnome-vfs-constants.h * libgnomevfs/gnome-vfs.h: * libgnomevfs/gnome-vfs-private-utils.c: * libgnomevfs/Makefile.am: Change includes and build to remove gnome-vfs-constants.h. 2001-06-02 Seth Nickell * libgnomevfs/gnome-vfs-socket-buffer.c: * libgnomevfs/gnome-vfs-socket-buffer.h: * libgnomevfs/gnome-vfs-socket-private.h: * libgnomevfs/gnome-vfs-socket.c: (gnome_vfs_socket_new): * libgnomevfs/gnome-vfs-socket.h: I think Ian forgot these in his checkin. WARNING!!! These are not the actual files but skeleton with enough declarations to get GnomeVFS compiling again. Must get the real things checked in :-) 2001-06-01 Seth Nickell * configure.in: Removed cruft directories. 2001-05-31 Ian McKellar * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-inet-connection.c: (gnome_vfs_inet_connection_create), (gnome_vfs_inet_connection_get_iobuf), (gnome_vfs_inet_connection_get_fd), (gnome_vfs_inet_connection_read), (gnome_vfs_inet_connection_write), (gnome_vfs_inet_connection_to_socket): * libgnomevfs/gnome-vfs-inet-connection.h: * libgnomevfs/gnome-vfs-iobuf.c: (gnome_vfs_iobuf_flush): * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-ssl.c: (gnome_vfs_ssl_create), (gnome_vfs_ssl_create_from_fd), (gnome_vfs_ssl_write), (gnome_vfs_ssl_destroy), (gnome_vfs_ssl_to_socket): * libgnomevfs/gnome-vfs-ssl.h: * libgnomevfs/gnome-vfs-types.h: * modules/Makefile.am: * modules/file-method.c: (do_read): * modules/http-method.c: (http_file_handle_new), (get_header), (create_handle), (https_proxy), (connect_to_uri), (xmit_request), (make_request), (http_handle_close), (do_open), (do_read), (propfind_href_to_vfs_uri), (do_open_directory): * test/test-ssl.c: (show_result), (main): Added SSL and HTTPS support. 2001-05-31 Robin * Slomkowski * gnome-vfs.spec.in:removed html/*.txt line as it doesn't seem to get populated. 2001-05-30 Seth Nickell * devel-docs/gnome-vfs/tmpl/libgnome-vfs.sgml: Get a stray file that missed the delet. 2001-05-30 Seth Nickell * devel-docs/Makefile.am: * devel-docs/gnome-vfs/Makefile.am: * devel-docs/gnome-vfs/gnome-vfs-docs.sgml: * devel-docs/gnome-vfs/gnome-vfs-sections.txt: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime-info.sgml: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime.sgml: Nix the duplicate api docs since we've been actively working on doc/ instead. 2001-05-30 Seth Nickell * doc/gnome-vfs-docs.sgml: Start organizing higher level documentation structure and preparing sections on the most common parts application developers will have to use. Hopefully at this point somebody could use the docs as an API reference to the POSIX like synchronous calls. * doc/tmpl/application-registry.sgml: * doc/tmpl/async-ops.sgml: * doc/tmpl/directory.sgml: * doc/tmpl/find-directory.sgml: * doc/tmpl/mime-handlers.sgml: * doc/tmpl/mime-magic.sgml: * doc/tmpl/mime-sniff-buffer.sgml: * doc/tmpl/mime.sgml: * doc/tmpl/ops.sgml: * doc/tmpl/result.sgml: * doc/tmpl/types.sgml: * doc/tmpl/uri.sgml: * doc/tmpl/utils.sgml: * doc/tmpl/xfer.sgml: Write descriptions, titles, and short descriptions as well as perform some re-organization of the documentation. 2001-05-28 Seth Nickell * doc/gnome-vfs-docs.sgml: Fix entities so all subcategories are generated, and in alphabetical order. * doc/tmpl/mime-handlers.sgml: Add a better title (yah, whatever). Mon May 28 15:49:55 2001 Jonathan Blandford * doc/gnome-vfs-docs.sgml: fix case problem. 2001-05-27 Seth Nickell * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime-info.sgml: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime.sgml: * doc/tmpl/gnome-vfs-unused.sgml: * doc/tmpl/list-sort.sgml: * doc/tmpl/mime-handlers.sgml: gtk-doc apparently wants to change these files from its auto-scans (found some new functions). Owen thinks I should just check in the changes. I don't know gtk-doc procedure, so I'm trusting his judgement. * libgnomevfs/gnome-vfs-mime-handlers.c: Documented all public functions. * libgnomevfs/gnome-vfs-mime-handlers.h: Changed some arguments to match their name/usage within the corresponding declarations within gnome-vfs-mime-handlers.c. 2001-05-27 Maciej Stachowiak reviewed by: Seth Nickell * modules/http-method.c (parse_status): Handle technically invalid http replies from ShoutCast and IceCast. 2001-05-25 Seth Nickell * HACKING: Fix typos, bring it up-to-date. * TODO: Started a preliminary GnomeVFS 2.0 TODO list. Removed some crufty TODO items. 2001-05-23 Robin * Slomkowski * data/mime/gnome-vfs.keys.in: changed non-ascii mu to "mu" * po/ChangeLog: * po/az.po: * po/ca.po: * po/da.po: * po/de.po: * po/el.po: * po/es.po: * po/fi.po: * po/fr.po: * po/ga.po: * po/gl.po: * po/hu.po: * po/it.po: * po/ja.po: * po/ko.po: * po/lt.po: * po/nl.po: * po/nn.po: * po/no.po: * po/pl.po: * po/pt_BR.po: * po/ro.po: * po/ru.po: * po/sk.po: * po/sl.po: * po/sv.po: * po/tr.po: * po/uk.po: * po/wa.po: changed non-ascii mu to "mu" in the msgid 2001-05-23 Chema Celorio * autogen.sh (PKG_NAME): typo 2001-05-17 Robin * Slomkowski * libgnomevfs/gnome-vfs-private.h: removed #include for gnome-vfs-list-sort.h 2001-05-17 Robin * Slomkowski * doc/Makefile.am: (dist-hook): checked for the existence of dirs before creating them. (dist-hook-local): commented out this whole section as it broke make dist as there are no TEXT dirs. 2001-05-17 Jonathan Blandford * configure.in: * Makefile.am: * docs/*/*: Initial support for gtk-doc documentation. 2001-05-17 Darin Adler * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-list-sort.c: * libgnomevfs/gnome-vfs-list-sort.h: Removed the unused gnome_vfs_list_sort function. The good news is that glib 2 has this same function (g_list_sort_with_data). * test/.cvsignore: Ignore the new test-ssl test program. 2001-05-14 Ian McKellar * libgnomevfs/Makefile.am: Build fix. 2001-05-14 Ian McKellar * README.SSL: * acconfig.h: * configure.in: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): * libgnomevfs/gnome-vfs-ssl-private.h: * libgnomevfs/gnome-vfs-ssl.c: (gnome_vfs_ssl_init), (gnome_vfs_ssl_enabled), (gnome_vfs_ssl_new), (gnome_vfs_ssl_new_from_uri), (gnome_vfs_ssl_read), (gnome_vfs_ssl_write), (gnome_vfs_ssl_destroy): * libgnomevfs/gnome-vfs-ssl.h: Added an OpenSSL based SSL abstraction to gnome-vfs. This is so that modules (particularly the http module) will be able to implement SSL support. * test/Makefile.am: * test/test-ssl.c: (show_result), (main): Added a very simple test program for the SSL routines. 2001-05-16 Michael K. Fleming gnome_vfs_app_context_get_current was not addref'ing the context it returned if it had to create a default context. This caused crashes in async operations in apps that do not use the app context mechanism. * libgnomevfs/gnome-vfs-app-context.c: (gnome_vfs_app_context_peek_current_internal), (gnome_vfs_app_context_peek_current), (gnome_vfs_app_context_get_current): 2001-05-16 Darin Adler * libgnomevfs/gnome-vfs-app-context.c: (gnome_vfs_app_context_unref): Fix double-free. 2001-05-15 Maciej Stachowiak * libgnomevfs-pthread/gnome-vfs-async-ops.c, libgnomevfs/gnome-vfs-app-context.c, libgnomevfs/gnome-vfs-app-context.h, libgnomevfs/gnome-vfs-init.c, libgnomevfs/gnome-vfs-module-api.h, modules/http-authn.h, test/test-ssl.c: Add trailing newlines to files that didn't have them, and include headers needed to compile on my system. 2001-05-14 Michael K. Fleming reviewed by: Ian McKellar GnomeVFSAppContext and GnomeVFSCallback implementation. Allows application to register for module-defined synchronous callbacks. * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (gnome_vfs_async_job_add_callback): * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_callback_callback), (dispatch_sync_job_callback), (gnome_vfs_job_execute), (gnome_vfs_job_module_cancel), (set_current_job), (clear_current_job), (pthread_gnome_vfs_get_current_context), (pthread_gnome_vfs_dispatch_callback): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-app-context.c: * libgnomevfs/gnome-vfs-app-context.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend-private.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_get_current_context), (gnome_vfs_backend_dispatch_callback): * libgnomevfs/gnome-vfs-cancellation.c: (gnome_vfs_cancellation_cancel): * libgnomevfs/gnome-vfs-context.c: (gnome_vfs_context_new), (gnome_vfs_context_ref), (gnome_vfs_context_unref), (gnome_vfs_context_get_cancellation), (gnome_vfs_context_peek_current), (gnome_vfs_context_check_cancellation_current), (gnome_vfs_context_peek_app_context), (gnome_vfs_context_peek_app_context_current): * libgnomevfs/gnome-vfs-context.h: * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init), (gnome_vfs_is_primary_thread): * libgnomevfs/gnome-vfs-messages.c: * libgnomevfs/gnome-vfs-messages.h: * libgnomevfs/gnome-vfs-module-api.h: * libgnomevfs/gnome-vfs-module-shared.h: * libgnomevfs/gnome-vfs-private.h: * libgnomevfs/gnome-vfs-standard-callbacks.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-utils.h: * modules/Makefile.am: * modules/http-authn.c: * modules/http-authn.h: * modules/http-cache.c: * modules/http-cache.h: * modules/http-method.c: * modules/http-method.h: Split http module into 3 files; implemented basic and proxy authentication callbacks and a simple authentication jar. * test/.cvsignore: * test/Makefile.am: * test/test-callback.c: (authn_callback), (app_context_destroy_notify), (open_callback), (close_callback), (stop_after_log), (make_asserts_break), (main): * test/test-module-selftest.c: (stop_after_log), (make_asserts_break), (main): 2001-05-13 Maciej Stachowiak * modules/http-method.c: Cleaned up formatting, minor style issues; fixed a bug in `do_check_same_fs'. 2001-05-12 Maciej Stachowiak * devel-docs/gnome-vfs/Makefile.am: Fix build for people who don't have gtk-doc installed. 2001-05-09 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.h: Added dummy member to avoid having an empty struct. 2001-05-08 Ian McKellar * devel-docs/gnome-vfs/Makefile.am: * devel-docs/gnome-vfs/gnome-vfs-decl.txt: * devel-docs/gnome-vfs/gnome-vfs-docs.sgml: * devel-docs/gnome-vfs/gnome-vfs-sections.txt: Told gtkdoc to pick up (almost) all the header files. * libgnomevfs/gnome-vfs-process.h: Made some changes to make gtkdoc happy. ==== gnome-vfs 1.0.1 ==== 2001-05-07 Darin Adler reviewed by: Ramiro Estrugo * modules/Makefile.am: * po/POTFILES.in: Removed some dead code and fixed build so that CDDA module source files are included in the tarball even if it's made on a system without CDDA installed. 2001-05-07 Darin Adler * libgnomevfs/gnome-vfs-mime-info.c: (write_back_mime_user_file): Remove message that threatens users with death. 2001-05-03 John Sullivan reviewed by: Darin Adler Fixed bug 8240 (Help document viewing is broken) * modules/pipe-method.c: (do_open): Added more characters to the "safe characters" set. 2001-05-02 Ian McKellar reviewed by: Darin Adler * modules/pipe-method.c: (do_open): Only pass known safe characters to popen. 2001-05-02 Ramiro Estrugo * configure.in: Cant use pkgconfig for detecting libxml unless we are sure that the libxml we are using exports libxml.pc. Currently gnome-vfs/nautilus hackers use libxml 1.8.10 which doesnt export libxml.pc. Do the libxml check the "old fashioned" way for now. 2001-05-01 Darin Adler Fixes to make documentation work again after the "pipe" method fix. * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-uri.c: (set_uri_element): Add more methods to the list that are allowed to have ? characters in them. This is required to make help work right now that we don't translate so early. I'm starting to think it should be "file" that's special cased. (gnome_vfs_uri_new): Allow transformation. (gnome_vfs_uri_new_private): Add a flag to control whether transformation can happen. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_make_uri_canonical): Don't do any transformation. * modules/translate-method.c: (tr_handle_exec), (tr_uri_translate): Allow transformation. 2001-05-01 Darin Adler reviewed by: Mike Fleming Plugged the security hole created by the "pipe" method. It's now only allowed indirectly through the translate method. * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Don't allow unsafe URIs. (gnome_vfs_uri_new_private): Take a parameter which determines if unsafe URIs are allowed, and don't allow any "pipe" URIs unless unsafe ones are explicitly allowed. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_make_uri_canonical): Allow unsafe URIs. * modules/translate-method.c: (tr_handle_exec), (tr_uri_translate): Call gnome_vfs_uri_new_private so that the result of a translate is allowed to be an unsafe URI. * libgnomevfs/gnome-vfs-mime-info.c: (does_string_contain_caps): Renamed from does_string_contains_caps. * test/test-uri.c: (main): Updated tests affected by the fact that gnome_vfs_uri_new won't accept "pipe" URIs any more. * doc/mime-data-specification.txt: Remove trailing keys. 2001-05-01 Seth Nickell * test/mime-test-files/somepage.php: * test/mime-test-files/ Add a directory for placing files for doing checks on how GnomeVFS recognizes their MIME type. Fri Apr 27 13:32:32 2001 Jonathan Blandford * libgnomevfs/gnome-vfs-configuration.c (gnome_vfs_configuration_init): load from GNOME_VFS_MODULE_CFGDIR, and ~/.gnome/vfs/modules. (configuration_load): Change behaviour to not create the configuration anymore, but just load it. (maybe_reload): potentially reload the config files if they change. 2001-04-25 Darin Adler * check-mime.pl: Check that the applications file entries are in alphabetical order. 2001-04-25 Darin Adler reviewed by: Pavel Cisler * modules/file-method.c: (get_stat_info): Fix bug where it would return GNOME_VFS_NOT_FOUND for broken links, even though it went to the trouble of handling them properly. 2001-04-17 Darin Adler * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_local_path_from_uri): Loosen rule so that URLs that say "file:/etc/passwd" will be accepted. * test/test-uri.c: (main): Update test to match. 2001-04-14 Dan Winship * libgnomevfs/gnome-vfs-mime-info.c (get_value_real): Plug a memory leak. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_short_list_applications): Ditto. 2001-04-14 Maciej Stachowiak * modules/translate-method.c (tr_uri_translate): Be less tricky so that translate patterns that include a hostname, port, user, etc will work properly. 2001-04-13 Darin Adler * gnome-vfs.spec.in: Remove the slave program from the spec file, now that we don't use it any more. 2001-04-13 Darin Adler * configure.in: Missed Makefile list. 2001-04-13 Darin Adler * acconfig.h: * configure.in: Eliminate --disable-libefs, --with-default-backend, and GNOME_VFS_DEFAULT_BACKEND. * libgnomevfs/gnome-vfs-xfer.c: (init_progress): Initialize the file index to 0, since we now increment before each item. (at_end): Helper function. (call_progress_often_internal): Shared code for the two "often" versions of the call_progress function. The only change is to always send out progress once at the end. (call_progress_often), (call_progress_with_uris_often): Use new function to share most of the code. (remove_file): Bump the file index before dealing with the file. (remove_directory): Bump the file index before dealing with the directory. (copy_file): Don't bump the file index, because that's now the caller's responsibility. (copy_directory): Don't bump the file index for the directory itself, because that's now the caller's responsibility, but do bump the file index before calling copy_file, copy_directory, or copy_symlink. (copy_items): Bump the file index before calling copy_file, copy_directory, or copy_symlink. (gnome_vfs_xfer_uri_internal): Reset the file index to 0, since we now increment before each item. * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-mime.c: Removed gnome_uri functions that were in here without gnome_vfs-prefixed names. No one was using these versions. * Makefile.am: * libgnomevfs-corba/.cvsignore: * libgnomevfs-corba/Makefile.am: * libgnomevfs-corba/gnome-vfs-async-ops.c: * libgnomevfs-corba/gnome-vfs-corba.c: * libgnomevfs-corba/gnome-vfs-corba.h: * libgnomevfs-corba/gnome-vfs-slave-launch.c: * libgnomevfs-corba/gnome-vfs-slave-launch.h: * libgnomevfs-corba/gnome-vfs-slave-notify.c: * libgnomevfs-corba/gnome-vfs-slave-notify.h: * libgnomevfs-corba/gnome-vfs-slave-process.c: * libgnomevfs-corba/gnome-vfs-slave-process.h: * libgnomevfs-corba/gnome-vfs-slave.c: Remove CORBA back end. * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_loadinit): Hard-code "pthread" instead of using GNOME_VFS_DEFAULT_BACKEND. Soon we might get rid of the separate backend completely. * test/.cvsignore: * test/Makefile.am: Remove special cases for tests that used to run on both back ends, and make them build in a normal simple way instead. * mime-type-capplet/.cvsignore: * mime-type-capplet/Makefile.am: * mime-type-capplet/file-types-capplet.desktop.in: * mime-type-capplet/libuuid/.cvsignore: * mime-type-capplet/libuuid/Makefile.am: * mime-type-capplet/libuuid/clear.c: * mime-type-capplet/libuuid/compare.c: * mime-type-capplet/libuuid/copy.c: * mime-type-capplet/libuuid/gen_uuid.c: * mime-type-capplet/libuuid/gen_uuid_nt.c: * mime-type-capplet/libuuid/isnull.c: * mime-type-capplet/libuuid/pack.c: * mime-type-capplet/libuuid/parse.c: * mime-type-capplet/libuuid/tst_uuid.c: * mime-type-capplet/libuuid/unpack.c: * mime-type-capplet/libuuid/unparse.c: * mime-type-capplet/libuuid/uuid.h: * mime-type-capplet/libuuid/uuidP.h: * mime-type-capplet/libuuid/uuid_time.c: * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet.h: * mime-type-capplet/nautilus-mime-type-icon-entry.c: * mime-type-capplet/nautilus-mime-type-icon-entry.h: Remove this code. It's already been moved to the control center and we don't need to keep two copies of it. * test/gnome-file-selection/.cvsignore: * test/gnome-file-selection/Makefile.am: * test/gnome-file-selection/dir-close.xpm: * test/gnome-file-selection/dir-open.xpm: * test/gnome-file-selection/gicon.c: * test/gnome-file-selection/gicon.h: * test/gnome-file-selection/gnome-file-selection-history.c: * test/gnome-file-selection/gnome-file-selection-history.h: * test/gnome-file-selection/gnome-file-selection.c: * test/gnome-file-selection/gnome-file-selection.h: * test/gnome-file-selection/listing-iconic.xpm: * test/gnome-file-selection/main.c: Remove the file selector (which was not compiled). This is now being developed elsewhere. * po/POTFILES.in: Remove file names from CORBA back end and file selector. * libgnomevfs/gnome-vfs-private-types.h: Fix includes. * libgnomevfs/gnome-vfs-private-utils.c: Fix includes. * libgnomevfs/gnome-vfs-private-utils.h: Fix includes. * libgnomevfs/gnome-vfs-process.c: Fix includes. * NEWS: Remove long-obsolete news. * README: Update. * TODO: Tweak words a bit. * libgnomevfs/Makefile.am: Tweaks. 2001-04-12 Darin Adler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Fix bug where it file indices start from 1 during the preflight but from 0 during the actual copy. 2001-03-30 Michael K. Fleming reviewed by: Pavel Cisler Portion of bug 4832: Add support for HTTP proxies that require authentication. Note that if an HTTP proxy is set, but the proxy credentials are configured incorrectly, the application will get a GNOME_VFS_ERROR_ACCESS_DENIED, which isn't very descriptive Also expunged some of my bad coding habits (constant-on-left-side-of-compare) * modules/http-method.c: (cache_shutdown), (cache_entry_new), (cache_check_directory), (cache_add_uri_and_children), (sig_gconf_value_changed), (http_proxy_for_host_port), (make_request), (vfs_module_init): 2001-03-29 Darin Adler reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-cancellable-ops.c: (gnome_vfs_move_uri_cancellable): Make a move where both the from and to are identical succeed without involving the module. * libgnomevfs/gnome-vfs-xfer.c: (handle_name_conflicts): Don't treat a file that's being moved on top of itself as a conflict. 2001-03-24 Martin Baulig * gnomevfs-2.0.pc.in: Renamed to gnome-vfs-2.0.pc.in. 2001-03-24 Martin Baulig * modules/file-method.c: Only #include and for GNOME 1.x. Define `_' and `N_' to be a noop for GNOME 2.0 [FIXME: need a better solution for this]. * libgnomevfs-corba/*.[ch]: #include for GNOME 1.x and for GNOME 2.0. 2001-03-24 Martin Baulig * autogen.sh: Check whether gnome-autogen.sh is in the PATH and print an error message otherwise. * configure.in: Unconditionally require OAF on both platforms; for GNOME 2.0: check for GTK+, but don't check for ORBit. 2001-03-23 Martin Baulig Added support for the GNOME 2.0 platform. We try to autodetect the GNOME Platform in configure.in, but you may need to use the --enable-platform-gnome-2 or --disable-platform-gnome-2 argument if this fails. * autogen.sh: Use gnome-common. * configure.in: Use pkg-config to check for things; removed the USING_OAF conditional. * Makefile.am: Removed the USING_OAF conditional. * libgnomevfs/gnome-vfs-i18n.c: New file. (gnome_vfs_i18n_get_language_list): Moved the implementation of this function from gnome-libs/libgnome/gnome-i18n.c here. * libgnomevfs/gnome-vfs-private-utils.c (gnome_vfs_i18n_get_language_list): Moved to gnome-vfs-i18n.c. 2001-03-23 Darin Adler * test/test-uri.c: (main): Added some tests to demonstrate behavior when a URI starting with "." or ".." is passed to gnome_vfs_uri_new. 2001-03-22 Pavel Cisler reviewed by: Darin Adler * modules/file-method.c: (get_stat_info): Fix a bug that caused symlink_name to never be read. Add support for retrieving the symlink_name for a multi-level symlink. 2001-03-17 Gene Z. Ragan * modules/Makefile.am: I am clueless. Maybe adding this header file to the list of files in the cdda module listing will fix the build. 2001-03-17 Gene Z. Ragan * modules/Makefile.am: Another attempt to fix tinderbox. 2001-03-16 Gene Z. Ragan * configure.in: Another try to get this right. Check for the presence of the cdparanoia headers instead of the library. The use of an underscore in the library name seems to confuse the AM_CHECK_LIB macro. 2001-03-15 Gene Z. Ragan * configure.in: Fix tinderbox breakage. This is what happens when I pretend to be a build engineer. * modules/cdda-method.c: (do_open), (do_close), (do_get_file_info), (do_close_directory): Removed some debug messages. 2001-03-15 Gene Z. Ragan * modules/cdda-cddb.c: Added a workaround for the strangely defined, but unused, static arrays of chars in cdparanoia headers that causes a compiler error due to our strict error checking. 2001-03-15 Gene Z. Ragan * modules/cdda-module.conf: Add new cdda configuration file to build. 2001-03-15 Gene Z. Ragan * configure.in: * modules/Makefile.am: * modules/cdda-cddb.c: * modules/cdda-method.c: (cdda_context_new): * modules/default-modules.conf: Add cdda module to build using configure conditionals that depend on the presence of libcdparanoia. 2001-03-15 John Sullivan reviewed by: Darin Adler * libgnomevfs/gnome-vfs-types.h: Reverted this part of my eralier checkin after Darin convinced me that the change I made here could actually make things worse. Added a FIXME about how it should be changed later. 2001-03-14 Pavel Cisler Fix 7339: (dragging file inside ftp window causes "replace self" dialog to appear) * libgnomevfs/gnome-vfs-uri.c: (uri_matches_as_parent), (gnome_vfs_uri_is_parent): Fix a problem where ftp://foo.com and ftp://foo.com/ were not both considered the parent of ftp://foo.com/bar * test/test-uri.c: (test_uri_is_parent_common), (test_uri_is_parent_deep), (test_uri_is_parent_shallow), (main): Add tests for the above change. * test/test-find-directory.c: (main): Add some error handling. * libgnomevfs-pthread/gnome-vfs-job.c: (job_notify), (gnome_vfs_job_set), (gnome_vfs_op_destroy): Add some asserts and fix some debugging messages. 2001-03-14 John Sullivan reviewed by: Pavel Cisler Fixed bug 3337 (Sticky bit doesn't display correctly) * libgnomevfs/gnome-vfs-types.h: Set the sticky bit mask to 0 if S_ISVTX isn't defined, so we don't stomp on other unknown uses of this bit. * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_stat_to_file_info): Use GNOME_VFS style constants; #define _BSD_SOURCE so the sticky bit is defined. 2001-03-07 Maciej Stachowiak reviewed by: Robin Slomkowski * gnome-vfs-config.in: Tweak so output is 1.1, not gnome-vfs-1.1 to be consistent with other -config scripts and stop confusing control-center's configure; fixes tinderbox. 2001-03-07 Maciej Stachowiak * gnome-vfs.spec.in: Add gnome-vfs-config to silence tinderbox. 2001-03-07 Darin Adler * gnome-vfs.spec.in: Remove file-types-capplet too. 2001-03-07 Maciej Stachowiak reviewed by: Darin Adler Gene Z. Ragan Part of the fix for bugzilla.eazel.com bug 588 (Remove old "MIME types" capplet from control center) * Makefile.am: Remove mime-type-capplet subdir. * configure.in: Don't create mime-type-capplet Makefiles or check for control-center. * gnome-vfs.spec.in: remove control-center dependency. * mime-type-capplet/*: removed. * po/POTFILES.in: Remove mime-type-capplet files 2001-03-07 Pavel Cisler reviewed by: Darin Adler (reluctantly) Fixed 7495 (Need to test condition after pthread_cond_wait) * libgnomevfs-pthread/gnome-vfs-thread-pool.c: (gnome_vfs_thread_pool_wait_for_work), (thread_entry): Work around what is described as a spurious wakeup of condition variables in the Pthread standard. Added a while loop around pthread_cond_wait checking if an entry_point is lined up. 2001-03-06 Darin Adler * configure.in: Updated version number to 1.1. 2001-03-06 Darin Adler Created the gnome-vfs-1-0 branch, for 1.0 development. HEAD is now for post-1.0. 2001-03-06 Darin Adler Merged all changes back here from the gnome-vfs-1 branch. === start of changes from gnome-vfs-1 branch === 2001-03-04 Dan Winship reviewed by: Maciej Stachowiak * mime-type-capplet/libuuid/Makefile.am (NULL): Remove "SUBDIRS=" line, which causes automake (1.4 at least) to generate a Makefile containing invalid sh script that bash (2.03.0(1) at least) won't parse. 2001-03-04 Ramiro Estrugo reviewed by: Pavel Cisler * data/mime/gnome-vfs-mime-magic: Make Postscript Fonts magic work for all fonts versioned 1.x, not just 1.0. 2001-03-04 Pavel Cisler reviewed by: Darin Adler Fixed 7333: leak in gnome_vfs_mime_get_default_component * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component): Fix a leak by adding a missing gnome_vfs_mime_component_list_free. 2001-02-28 Maciej Stachowiak reviewed by: Darin Adler * Makefile.am, configure.in: Include macros dir in dist tarball for the benefit of those building the module with --enable-maintainer-mode 2001-03-02 Eric Fischer reviewed by: Gregory Leblanc * configure.in: Add version-checking macros from nautilus's configure.in Add check for control-center version number Parameterize checks for glib, oaf, gconf * gnome-vfs.spec.in: Substitute prerequisite version numbers from configure script 2001-03-01 Don Melton reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (get_mp3_frame_length), (get_4_byte_value), (gnome_vfs_sniff_buffer_looks_like_mp3): Re-fixed bug 6612 (Non-music files misidentified as MP3) Fixed bug 7212 (".sys" file misidentified as MP3) Fixed bug 7213 (".ico" file misidentified as MP3) Fixed bug 7214 (".1st" file misidentified as MP3) Rewrote "gnome_vfs_sniff_buffer_looks_like_mp3" to narrow MP3 sniffing to streams containing AT LEAST TWO frames of layer 3 MPEG audio. Note: free format and MPEG version 2.5 MP3s are ignored, Removed the hack to ignore StarOffice and Microsoft Office files which contain seemingly valid (but totally false) MPEG audio headers starting 68 bytes into the file, because the new sniffing code makes this unnecessary. 2001-03-01 Gene Z. Ragan reviewed by: Mike Engber Fixed bug 6964, gtv not associated with video/mpeg * data/mime/gnome-vfs.applications: * data/mime/gnome-vfs.keys.in: Add gtv to the short list of applications for type video/mpeg. 2001-03-01 Rebecca Schulman reviewed by: Robin Slomkowski * gnome-vfs.spec.in: Attempt to fix tinderbox -- install the moved desktop file to the new location in the spec file too. 2001-03-01 Mike Fleming reviewed by: Bug 7192: split_toplevel_uri now allows URI's with a username but no hostname in the authority field. In the future, we should figure out how to avoid having split_toplevel_uri involved with made-up URI schemes like eazel-install: * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): * test/test-uri.c: (main): 2001-03-01 Gene Z. Ragan reviewed by: Pavel Cisler * mime-type-capplet/Makefile.am: The capplet .desktop should be copied to the Documents directory of the control-center .desktop files directory, not the root level. 2001-02-28 Andy Hertzfeld * data/mime/gnome-vfs.keys.in: fixed bug 7179, lots of text files are missing their embedded text; fixed by deleting the icon-filename entry for around a dozen types. 2001-02-28 Eric Fischer reviewed by: Robin * Slomkowski * gnome-vfs.spec.in: (Bug 7166) Add dependency for control-center 1.2.3, because the mime-type capplet will crash without the latest version. I think this can go away once the capplet gets moved into control-center where it belongs, but it's necessary for the moment. 2001-02-28 Darin Adler Moved the ChangeLog entries into data/mime/ChangeLog. 2001-02-27 Pavel Cisler reviewed by: Gene Z. Ragan * modules/file-method.c: (do_find_directory): Fix a bug where calling gnome_vfs_find_directory near a cross-file system symlink would return Trash corresponding to the link target not the link itself, causing an error when trying to delete the link. 2001-02-27 Josh Barrow * AUTHORS: s/helixcode/ximian/ 2001-02-27 Pavel Cisler * AUTHORS: * HACKING: * NEWS: Getting these ready for a release. 2001-02-27 Maciej Stachowiak another unreviewed change to fix tinderox * mime-type-capplet/Makefile.am: Install .desktop file in both the places the .spec file expects it. Not sure if it was removed intentionally or not. 2001-02-27 Maciej Stachowiak unreviewed change to fix tinderox * mime-type-capplet/Makefile.am: Add .desktop.in file to EXTRA_DIST. 2001-02-27 Maciej Stachowiak reviewed by: Kjartan Maraas * po/POTFILES.in: Remove entries spuriously added by xml-i18n-prepare 2001-02-26 Rebecca Schulman Fixed bugzilla.eazel.com bug 7010, that the file types capplet should use .desktop.in xml-i18-tools stuff. reviewed by: Maciej Stachowiak * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-mime.h: Add a FIXME and a comment about functions in this file; no code changes * mime-type-capplet/.cvsignore: Add file-types-capplet.desktop * mime-type-capplet/file-types-capplet.desktop.in: Add this with new nifty xml-18n technology * mime-type-capplet/file-types-capplet.desktop: Remove the old file * mime-type-capplet/Makefile.am: Fix the build to build and install the new desktop file instead of the old one 2001-02-26 Gene Z. Ragan reviewed by: Rebecca Schulman Forgot to add libuuid/Makefile * configure.in: 2001-02-26 Robin * Slomkowski * configure.in: upped version to 0.6.2.0 for development 2001-02-26 Robin * Slomkowski * configure.in: upped version to 0.6.2 for release 2001-02-26 Gene Z. Ragan reviewed by: Pavel Cisler Fixed bug 7039, User-entered application that matches built-in application can't be deleted Fixed bug 7040, User-entered application that matches built-in application doesn't go away when "all user changes" reverted Fixed bug 7064, New mime types added by user using the capplet do not appear when capplet is launched again. * mime-type-capplet/Makefile.am: Add libuuid to build. * mime-type-capplet/libuuid/Makefile.am: * mime-type-capplet/libuuid/clear.c: (uuid_clear): * mime-type-capplet/libuuid/compare.c: (uuid_compare): * mime-type-capplet/libuuid/copy.c: (uuid_copy): * mime-type-capplet/libuuid/gen_uuid.c: (get_random_bytes), (get_node_id), (get_clock), (uuid_generate_time), (uuid_generate_random), (uuid_generate): * mime-type-capplet/libuuid/gen_uuid_nt.c: (Nt5), (uuid_generate): * mime-type-capplet/libuuid/isnull.c: (uuid_is_null): * mime-type-capplet/libuuid/pack.c: (uuid_pack): * mime-type-capplet/libuuid/parse.c: (uuid_parse): * mime-type-capplet/libuuid/tst_uuid.c: (main): * mime-type-capplet/libuuid/unpack.c: (uuid_unpack): * mime-type-capplet/libuuid/unparse.c: (uuid_unparse): * mime-type-capplet/libuuid/uuid.h: * mime-type-capplet/libuuid/uuidP.h: * mime-type-capplet/libuuid/uuid_time.c: (uuid_time), (uuid_type), (uuid_variant), (variant_string), (main): Add libuuid to capplet and link statically. This is sort of sad. It would be nice if gnome had a uuid library, but at this time it does not. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): Call proper API to ensure that new mime type is added to the database. (add_or_update_application), (add_item_to_application_list), (run_edit_or_new_application_dialog): Create and assign a uuid to user defined application so that we never conflict with system defined types that use the application name as the application id. 2001-02-26 Darin Adler reviewed by: Ramiro Estrugo * check-mime.pl: Added more checks, including a check for unexpected keys, check for repeated keys, check for key format in .mime file, check for icon names mentioned against icon files, and code to make it communicate failure to the shell with "exit 1". 2001-02-25 John Sullivan reviewed by: Gene Ragan Fixed bug 6675 (Capplet allows user to add application for non-existent program (or not in path). * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (strdup_to), (is_executable_file), (executable_in_path), (get_executable_name_from_command_string), (gnome_vfs_is_executable_command_string): Moved code that tests for executable commands from -mime-handlers.c to here. Made gnome_vfs_is_executable_command_string public. Added FIXMEs and tweaked full-path handling code to work in more cases. * libgnomevfs/gnome-vfs-mime-handlers.c: (application_known_to_be_nonexistent): Replaced the code testing for executable commands with call to gnome_vfs_is_executable_command_string. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (initialize_edit_applications_dialog): Added FIXME. (handle_invalid_application_input): New function, handles bad name or command string with explanatory error message. (run_edit_or_new_application_dialog): New function, guts of both show_ and edit_new_application_window, which formerly had nearly identical copy/pasted code. Now doesn't close dialog if input is bad and user clicks OK; other minor cleanup. (show_new_application_window), (show_edit_application_window): Each of these now calls run_edit_or_new_application_dialog. * mime-type-capplet/nautilus-mime-type-capplet.c: (add_mime_clicked), (update_mime_list_action), (populate_mime_list): Added tests for missing icon files to avoid zillions of GTK-CRITICALs from gdk_pixbuf if you run the capplet without installing Nautilus firt (discovered during clean rebuild); fixed a couple of leaking strings. 2001-02-24 Marius Andreiana * configure.in: Added ro (Romanian) to ALL_LINGUAS. 2001-02-24 Gene Z. Ragan reviewed by: John Harper Fixed bug 6904, Full paths can't be used when adding applications in capplet (and failure is silent) I fixed the full paths issue. The failure is silent issue is reflected in a soon to be closed bug. * libgnomevfs/gnome-vfs-mime-handlers.c: (application_known_to_be_nonexistent): Check and see if the command string store in the mime database is actually a full path to an executable. 2001-02-23 Pavel Cisler reviewed by: Mike Fleming Fix 6391 nautilus crashes on any \ in the homedir preference * test/test-uri.c: (main): Add a test that broke before the fix. * libgnomevfs/gnome-vfs-private-utils.c: (find_next_slash): Remove the confused '\' unescaping. 2001-02-23 Pavel Cisler reviewed by: Gene Ragan Fixed 5786 the sequence of async open->read->cancel->close can crash. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_close): Before scheduling a close, wait for read/write to complete. If read/write is still executing, wait for a tiny bit. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_complete), (gnome_vfs_op_destroy), (gnome_vfs_job_execute): * libgnomevfs-pthread/gnome-vfs-job.h: Add a new job op state - GNOME_VFS_OP_READ_WRITE_DONE. Set it when read/write is done so that close can tell it can proceed. 2001-02-23 Don Melton reviewed by: Maciej Stachowiak Fixed bug 6831 (extensions shouldn't take precedence over MP3 files) * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type_internal): Removed call to "gnome_vfs_mime_type_from_name_or_default" after call to "gnome_vfs_sniff_buffer_looks_like_mp3" so filename extensions don't take precendence over actual MPEG audio content. Re-fixed bug 6612 (".doc", ".sdw", etc. are not MP3 files) * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_mp3): Added hack to ignore StarOffice and Microsoft Office files which contain seemingly valid (but totally false) MPEG audio headers starting 68 bytes into the file. Do this here because adding mime magic entry is really, really hard. Re-fixed bug 5477 ("linux-2.4.0.tar.bz2" is not MP3 file) * data/mime/gnome-vfs-mime-magic: Corrected string pattern to detect bzip2 files. Changed "Bzh" to "BZh". 2001-02-22 Mike Fleming * modules/default-modules.conf: Removed nfs from default-modules.conf (see bug 6666) 2001-02-22 John Sullivan reviewed by: Gene Ragan Fixed bug 6524 (No default icons for MIME types) Fixed bug 6525 (capplet will only let you pick icons from a single directory) Fixed bug 6596 ("We need a good explanation here" isn't a good explanation) I didn't fix all the fundamental brokenness about Nautilus themes vs. the MIME database, but I fixed the most obvious problems and added some FIXMEs to help clarify some of the remaining issues. I also did a tiny fraction of the cleanup that could be done in this code. Users can now browse around to choose icons from anywhere, and they will all work in Nautilus (no change required in Nautilus). * mime-type-capplet/files-types-capplet.desktop: Replaced placeholder description string with Vera's. * mime-type-capplet/nautilus-mime-type-capplet.c: Removed bogus but relatively harmless initial slashes from two DEFAULT_REGULAR_ICON and DEFAULT_ACTION_ICON. (really_change_icon): Handle full as well as relative filenames; update displayed info here instead of relying on the icon_entry widget doing it. (icon_chosen_callback): Renamed from gil_icon_selected_cb; hide the dialog here so we can eliminate the almost-identical code in nautilus-mime-type-icon-entry.c that did that one extra thing. (change_icon_clicked_cb_real): use GNOME_OK instead of 0 (change_icon_clicked): Update for name change. (is_full_path): Little bitty helper function that checks for initial slash, mainly separated for clarity. (capplet_get_icon_path): New function used to get a full icon path from a file name, icon name, relative path, or possibly non-existent full path. (nautilus_mime_type_capplet_update_info): Simplify logic, use capplet_get_icon_path. (add_mime_clicked), (update_mime_list_action), (populate_mime_list): Use capplet_get_icon_path; use generic executable icon for app instead of repeating MIME-type icon. (capplet_get_icon_pixbuf): Simplify logic; use capplet_get_icon_path; Add FIXME about future code cleanup * mime-type-capplet/nautilus-mime-type-icon-entry.h: * mime-type-capplet/nautilus-mime-type-icon-entry.c: (nautilus_mime_type_icon_entry_get_full_filename): Renamed from _get_filename for clarity (entry_activated): Made behavior match comment (act like OK button was hit) (icon_selected_cb): Removed this function; this was redundant with code in nautilus-mime-type-capplet.c. (gil_icon_selected_cb): Removed this function; it was redundant with a function in nautilus-mime-type-capplet.c except that this one hid the dialog and that one didn't (now that one does). (nautilus_mime_type_show_icon_selection): Remove commented-out line that implemented the Browse button that let the user choose from different directories; removed redundant signal handlers; added FIXME. (nautilus_mime_type_icon_entry_get_relative_filename): Simplify logic; made it return NULL instead of "" and a g_warning when it can't create a relative path from the full path. * libgnomevfs/gnome-vfs-utils.c: Added FIXME 2001-02-22 Gene Z. Ragan reviewed by: John Sullivan Fixed bug 6568, Closing capplet right away warns about uncommitted changes * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Use new winterface that I added to control-center that informs the control center that changes are immediate. The control center now behaves properly. 2001-02-21 Pavel Cisler reviewed by: Darin Adler Fixed 5633: MIME type for gzipped XML formats such as gnumeric are not detected. Fixed 6803: gcc complaining about mktemp and suggesting mkstemp. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type_internal): Rework to get rid of duplicated logic. Add a new call that covers both the data and suffix based file type recognition, optionally accepting NULL for either of the two. Add a call to the special gzip handler. For now hardcode gnumeric.gz and pdf.gz, we may add more later. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type), (gnome_vfs_get_file_mime_type), (gnome_vfs_get_mime_type_from_file_data), (gnome_vfs_get_mime_type_for_data): Make it call the new common routine. * libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_type_from_magic_table), (gnome_vfs_get_mime_type_for_buffer), (file_name_ends_with), (gnome_vfs_sniff_buffer_looks_like_gzip): Add a special-case recognizer for gzip files that considers file names before identifying a file as gzip and leaving a hard-coded set of types to fall back on the suffix based type identification. * libgnomevfs/gnome-vfs-mime.c: (get_priority), (list_find_type), (add_to_key), (mime_fill_from_file), (mime_load), (gnome_vfs_mime_type_from_name_or_default), (gnome_vfs_get_mime_type_from_uri_internal), (gnome_vfs_get_mime_type_internal), (gnome_vfs_mime_type_is_supertype), (extract_prefix_add_suffix), (gnome_uri_list_extract_uris), (gnome_uri_list_extract_filenames), (gnome_uri_extract_filename): Tweaks. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_mp3): Tweaks. * data/mime/gnome-vfs-mime-magic: Remove the magic pattern for gzip. * libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_i18n_get_language_list), (gnome_vfs_istr_has_prefix), (gnome_vfs_istr_has_suffix): * libgnomevfs/gnome-vfs-private-utils.h: Copy-paste these from Nautilus. * libgnomevfs-corba/gnome-vfs-slave.c: (setup_and_serve_channel): Switch to using mkstemp. 2001-02-22 Seth Nickell reviewed by: Mathieu Lacage * modules/test-method.c: (load_settings), (vfs_module_init): Fix test module to look in the PREFIX for its configuration file rather than hardcoding. Deal with missing or invalid settings files gracefully, returning a sane error rather than segfaulting :-) 2001-02-22 Seth Nickell reviewed by: Pavel Císler * libgnomevfs/gnome-vfs-application-registry.c: (strip_trailing_whitespace): * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): Add casts to is* functions as necessary when chars are used to fix Solaris warnings. 2001-02-21 Mike Fleming reviewed by: * data/mime/gnome-vfs.applications: * data/mime/gnome-vfs.keys.in: added x-directory/webdav-prefer-directory to gnome-vfs.keys.in I must have edited the wrong file before :) 2001-02-21 Darin Adler reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): Move code to lower-case the host name down so it's always run, even in cases that exit via "goto done". * test/test-uri.c: (main): Fix test cases that were broken by the above bug. 2001-02-21 John Sullivan reviewed by: Pavel Cisler Fixed bug 6654 (after deleting MIME type from database, info about that MIME type still appears in Nautilus) Turns out the support for MIME type deletion was skin deep. The info was stored, but the only place respecting it was the code to return a complete list of MIME types. * libgnomevfs/gnome-vfs-mime-info.c: (is_mime_type_deleted): New function, extracted from get_key_name (get_key_name): Now calls extracted function (get_value_from_hash_table): New function, holds some code that was repeated 4 times in get_value_real (get_value_real): Return NULL if MIME type is deleted (unless we're checking DELETED_KEY itself); use get_value_from_hash_table to save code. 2001-02-21 Gene Z. Ragan reviewed by: John Sullivan Fixed bug 6626, Applications deleted from the short list reappear (unchecked) The original intent of this dialog button was to allow the user to delete their custom added applications. The logic has been added to handle this and update the control properly. There is a larger issue that if the user wants to delete system level applications, the current API makes it impossible to do so. * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-application-registry.h: (application_lookup_or_create), (application_lookup), (application_remove), (gnome_vfs_application_registry_init), (gnome_vfs_application_registry_clear), (gnome_vfs_application_registry_shutdown), (gnome_vfs_application_registry_sync), (gnome_vfs_application_registry_save_mime_application): Renamed a potentially confusing global variable. (gnome_vfs_application_is_user_owned_application): New function that returns a value indicating if this is a user owned or system owned application. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (create_application_list_item), (populate_default_applications_list), (initialize_edit_applications_dialog), (show_new_application_window), (delete_selected_application), (add_or_update_application), (add_item_to_application_list): Determine if application data is user owned and act accordingly. (check_button_status): Remove delete button handling in certain cases and use new update_delete_button function instead. (update_delete_button): New function to that sensitizes the delete button based on user ownership of the selected application item. 2001-02-20 Pavel Cisler reviewed by: Mike Fleming (except for build breakage fixes) Fix 5798 Cancelling a slow medusa search locks up nautilus Fix 6309 Stopping Nautilus while navigating to an unreachable http server can block nautilus indefinitely. * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (gnome_vfs_async_job_add_callback), (gnome_vfs_async_job_cancel_job_and_callbacks): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): Switch from using the job->access_lock to make setting job->cancelled and cancelling the callbacks in the callback map atomic to using the async_job_callback_map_lock. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): No need to acquire job->access_lock -- this makes the cancellation not block while the async job is executing. * libgnomevfs-pthread/gnome-vfs-async-job-map.h: * libgnomevfs-pthread/gnome-vfs-job.c: (job_oneway_notify), (job_notify): Use the result of gnome_vfs_async_job_add_callback to handle getting cancelled while scheduling an idle callback. * libgnomevfs-pthread/gnome-vfs-job.c: (job_notify): Fix a mistake where gnome_vfs_async_job_add_callback was being called twice. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_module_cancel): * libgnomevfs-pthread/gnome-vfs-job.h: Rename to make things clearer. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_read), (execute_xfer): Fix whitespace. * libgnomevfs/gnome-vfs-method.c: * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-module-shared.c: * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-types.h: * modules/file-method.c: * modules/ftp-method.c: * modules/gconf-method.c: * modules/pipe-method.c: * modules/translate-method.c: Fix build breakage, part 2. 2001-02-20 Mike Fleming reviewed by: Pavel Cisler Bug 6770 -- URI's with @'s in the path break split_toplevel_uri Fixed and added test cases * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): * test/test-uri.c: (main): 2001-02-20 Pavel Cisler reviewed by: Rebecca Schulman * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-context.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-types.h: Fix Medusa build breakage, part 1. 2001-02-20 Darin Adler reviewed by: Mike Fleming * libgnomevfs/gnome-vfs-process.c: (sigchld_handler): Fix uninitialized variable problem (reported by danw I think). * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_local_path_from_uri): Simplify function and make it return NULL with # characters. * test/test-uri.c: (main): Update tests to match the change to gnome_vfs_get_local_path_from_uri. * libgnomevfs-pthread/gnome-vfs-job.c: Improve a variable name. * mime-type-capplet/.cvsignore: Ignore the executable under its new name, not its old name. 2001-02-20 John Sullivan * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Changed "Delete this MIME type..." to "Delete This MIME Type" because that follows the capitalization rules, and because there's no dialog involved so the "..." is a lie. 2001-02-20 John Sullivan reviewed by: Seth Nickell Fixed various small capplet bugs while pondering the big scary icon-related ones, including: Fixed bug 4768 (hardcoded icon file name in nautilus-mime-type-capplet.c) Fixed bug 6636 (Text descenders clipped for selected item in mime list) Fixed bug 6641 (Icons clipped in mime list) Fixed bug 6647 ("Change Icon" dialog has silly title) * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): Simplified widgetry, tweaked layout and wording to look halfway decent and be clear. * mime-type-capplet/nautilus-mime-type-capplet.c: Added constants for icon height/width in list. Added FIXME for huge hunks of copy/pasted code. (init_mime_capplet): Removed two set_usize calls; replaced one with a gtk_misc_set_padding call so "Edit List" button isn't too cramped. (add_mime_clicked), (nautilus_mime_type_capplet_update_mime_list_icon_and_description): Use icon size constants instead of magic numbers. (update_mime_list_action), (populate_mime_list): Use icon size constants; use gnome_vfs_icon_path_from_filename to avoid hard-coded path. (mime_list_reset_row_height): New function, sets the row height based on font size and image height. (create_mime_list_and_scroller): Reset row height at the right time. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (nautilus_mime_type_show_icon_selection): Set icon selection window title; add FIXME for (at long last discovered) code that prevents user from choosing icons in arbitrary directories. 2001-02-20 Rebecca Schulman Fix build issues caused by making gnome-vfs-process.h private reviewed by: Darin Adler * libgnomevfs/gnome-vfs.h: Remove gnome-vfs-process.h, which is now private * libgnomevfs/gnome-vfs-private-utils.h: Add gnome-vfs-process.h * test/test-escape.c: Add a signal.h which was needed after remove gnome-vfs-process.h from gnome-vfs.h 2001-02-20 Mike Fleming reviewed by: Bug 5325: Eazel Vault directories default to icon view, but other DAV sites do not. Added "x-directory/webdav-prefer-directory" mime type to allow this to happen. Also added checking of the multistatus "status" value for propstat * data/mime/gnome-vfs.applications: * modules/http-method.c: (process_propfind_propstat), (find_child_node_named), (get_propstat_status), (process_propfind_response), (make_propfind_request), (do_get_file_info): 2001-02-20 Ian McKellar reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (copy_file_data), (move_items), (link_items): Don't add overhead to the transfer total for each file. This fixes bug 6769. * test/test-uri.c: Fix a compile problem with the Debian compiler. 2001-02-20 John Sullivan reviewed by: Darin Adler Finished bug 5777 (Nautilus doesn't pick up MIME database changes right away). It still requires a Refresh or a visit to another directory, but it no longer requires a relaunch. Fixed bug 4798 (Nautilus doesn't update icons right away). This was a special case of bug 5777, but worth verifying separately so not marked duplicate. To fix these two bugs, I made a new set of calls that let a client check whether the mod date of any file from a set has changed "recently". There was code to do this (copy & pasted in two places) but it didn't correctly handle changes in existing files, only new files added/removed. * libgnomevfs/Makefile.am: Moved gnome-vfs-process.h and gnome-vfs-mime-sniff-buffer-private.h to noinst_HEADERS where they belonged (unrelated to bug fixes). * libgnomevfs/gnome-vfs-mime-private.h: Added prototypes for new FileDateTracker operations. * libgnomevfs/gnome-vfs-mime.c: (file_date_record_update_mtime), (file_date_record_new), (file_date_record_free): New functions, keep track of a single file and its last recorded mod date. (gnome_vfs_file_date_tracker_new): New function, returns a new FileDateTracker struct. (release_key_and_value): New function, used when freeing FileDateTracker. (gnome_vfs_file_date_tracker_free): New function. (gnome_vfs_file_date_tracker_start_tracking_file): New function, remembers a file (if not already known) and records its current mod date. (check_and_update_one): New hashtable iterator, checks whether a file's mod date has changed since last recorded. (gnome_vfs_tracked_date_has_changed): New function, checks whether any tracked file's date has changed since last recorded. (mime_fill_from_file): start tracking the mod date of the file we just loaded. (mime_load): start tracking the mod date of the directory we just iterated through. (maybe_reload): replace old date-checking code with call to gnome_vfs_tracked_date_has_changed. (mime_init): create global hash table for mime data date tracker. (gnome_vfs_mime_shutdown): free global hash table. * libgnomevfs/gnome-vfs-application-registry.c: (remove_mime_type_for_application): Fixed crashing bug (part of bug 5777) by reordering code to avoid accessing freed string. (load_application_info_from): start tracking the mod date of the file we just loaded. (application_info_load): start tracking the mod date of the directory we just iterated through. (maybe_reload): replace old date-checking code with call to gnome_vfs_tracked_date_has_changed (gnome_vfs_application_registry_init): create global hash table for registry date tracker. (gnome_vfs_application_registry_shutdown): free global hash table. 2001-02-20 Robin * Slomkowski * gnome-vfs.spec.in: changed nautilus-mime-type-capplet to file-types-capplet 2001-02-16 Michael K. Fleming reviewed by: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_parent): * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_local_path_from_uri): * test/test-uri.c: (main): Part of 2057: URI's with fragments behave oddly gnome_vfs_uri_get_parent no longer copies the child's fragment onto the parent (which certainly makes no sense to do) Added a warning for gnome_vfs_unescape_string_for_display, since it can cause bug 6694 gnome_vfs_get_local_path_from_uri now strips fragments from the string it resturns. Added test cases for new behaviour * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_new_from_existing_data): * libgnomevfs/gnome-vfs-types.h: Fixed crasher in mime sniff buffer that can happen when gnome_vfs_mime_sniff_buffer_new_from_existing_data is used with a buffer too small for some of the magic number patterns. By setting "read_whole_file" to TRUE, no further attempts will be made to read from the buffer (which doesn't have a read function defined) * modules/Makefile.am: Bug 6666, removed nfs module from build for nautilus v1 2001-02-20 Gene Z. Ragan Fix bug 6384, Nautilus program chooser uses "nautilus-mime-type-capplet" to launch capplet * mime-type-capplet/Makefile.am: * mime-type-capplet/files-types-capplet.desktop: * mime-type-capplet/nautilus-mime-type.desktop: Rename the capplet binary and change the name and contents of the .desktop file to reflect the new name. 2001-02-19 Don Melton reviewed by: Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_get_mime_type_for_buffer): * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type), (gnome_vfs_get_file_mime_type), (gnome_vfs_get_mime_type_from_file_data): Fixed bug 5477 ("linux-2.4.0.tar.bz2" is not MP3 file) Fixed bug 6612 (".doc", ".sdw", etc. are not MP3 files) Now call "gnome_vfs_sniff_buffer_looks_like_mp3" just like its text sniffing counterpart so that it is _not_ called only on failure of "gnome_vfs_mime_try_one_magic_pattern". 2001-02-19 Ian McKellar reviewed by: Eskil Olsen * modules/file-method.c: (do_find_directory): Changed lstat to stat so that the device ID can be correctly determined (fixing bug 4980). 2001-02-16 Gene Z. Ragan reviewed by: Mike Enger Fixed bug 6624, Selected mime type/description displayed below the list is incorrect after reverting to system defaults. Fixed bug 6644, List sorting after using "revert to system defaults" is inconsistent. * mime-type-capplet/nautilus-mime-type-capplet.c: (revert_real_cb): Sort the list using current sort column and select the first item to force an update of the dialog contents. Also freeze and thaw list to avoid annoying flicker while list is being repopulated. 2001-02-16 John Sullivan reviewed by: Gene Z. Ragan Fixed bug 6635 (in MIME capplet, descriptions can't be edited though they look editable) * libgnomevfs/gnome-vfs-mime-handlers.c: * libgnomevfs/gnome-vfs-mime-handlers.h: (gnome_vfs_mime_set_description): New function, just like existing _set_icon. * mime-type-capplet/nautilus-mime-type-capplet.h: * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_mime_type_capplet_update_mime_list_icon_and_description): Changed name to add the _and_description part. It already handled the description properly but the name was misleading. (really_change_icon): Updated for name change. (update_description_from_input): New function, sets the description in database and UI (list) from what's in the field. (description_entry_changed): Set dirty flag. (description_entry_activate), (description_entry_lost_focus): If dirty flag set, update. (init_mime_capplet): Hook up text field signal handlers, make field editable, remove "No Description" case since putting status text in editable field is wrong. (nautilus_mime_type_capplet_update_info): Clear dirty flag when description is updated due to selection change. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (icon_selected_cb): Updated for name change. 2001-02-16 Gene Z. Ragan reviewed by: John Sullivan Fixed bug 6648, Able to add mime type even if "mime type" and description fields are blank. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (validate_text_and_update_button), (nautilus_mime_type_capplet_show_new_mime_window): Set sensitive state of OK button based on content of text entry item in dialog box. * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_mime_type_capplet_add_extension), (init_mime_capplet), (add_mime_clicked): Check for '\0' instead of ' ' to avoid empty strings 2001-02-16 Rebecca Schulman Fixed bugzilla.eazel.com 6220, that incorrect file counts messed up the progress bar during FTP copies. reviewed by: Gene Regan * libgnomevfs/gnome-vfs-directory.c: (lookup_ancestor), (directory_visit_internal): Only rely on valid inodes to determine if a link is circular. Otherwise, use a hard limit for symbolic links of 256, which should be greater than or equal too all systems we'll work with. * libgnomevfs/gnome-vfs-xfer.c: Fix spelling error in a comment * modules/ftp-method.c: (ls_to_file_info): Don't rely on inode and device information being valid. 2001-02-15 John Sullivan reviewed by: No one explicitly, but Darin said this change was worth doing. Addressed part of bug 6666 (Nautilus crashes when you type "nfs://" in the location bar) * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_matches): Added g_return_val_if_fails so it won't crash when fed a NULL file_info, or a file_info with a NULL name. 2001-02-15 John Sullivan reviewed by: Gene Ragan Fixed some problems and cleaned up some code that I ran into while investigating bug 5777 (Nautilus does not pick up MIME preferences right away) * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications): Prune user's short list additions of nonexistent applications (already pruned other lists); removed mysteriously incorrect FIXME; deployed gnome_vfs_mime_type_is_supertype() one more place. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (insert_item), (create_application_list_item): New helper functions used for dialogs showing lists of applications, extracted and simplified from existing code. (populate_default_applications_list): Use helper functions instead of repeating all the code here. (initialize_edit_applications_dialog): Swapped order of two lines for clarity & slight efficiency gain. (add_item_to_application_list): Use helper functions instead of repeating all the code here; select newly-added item. (show_new_application_window): Removed two initialized but never used variables. (show_edit_applications_dialog), (show_edit_components_dialog), (nautilus_mime_type_capplet_show_new_mime_window), (nautilus_mime_type_capplet_show_change_extension_window), (nautilus_mime_type_capplet_show_new_extension_window), (show_new_application_window), (show_edit_application_window): Cleaned up all callers of gnome_dialog_run; some were not handling the close box properly; others were just using more lines of code than needed; none were using GNOME_OK for clarity. * mime-type-capplet/nautilus-mime-type-capplet.c: (revert_mime_clicked): Improved some error message text a little. 2001-02-15 John Sullivan reviewed by: Darin Adler Fixed bug 6660 (list of all apps for text/xml doesn't include text/* handlers) * libgnomevfs/gnome-vfs-mime.h: * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_is_supertype): New public function. (extract_prefix_add_suffix): Utility function used by _get_supertype_from_mime_type, moved from another file. (gnome_vfs_get_supertype_from_mime_type): New public function (formerly private in mime-handlers.c under the name "mime_type_from_supertype". * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_components), (gnome_vfs_mime_component_list_free): Update for renaming; remove mime_type_from_supertype. * libgnomevfs/gnome-vfs-application-registry.c: (gnome_vfs_application_registry_get_applications): Use new functions to fix completely broken code to get supertype's list of apps. (add_application_to_mime_type_table), (remove_application_from_mime_type_table): Use new is_supertype function instead of using strstr. 2001-02-14 Gene Z. Ragan Fixed bug 6629, Default action icon disappears when switching from application->viewer->application Fixed bug 6630, Default action icon not drawn when changing the default application * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (update_mime_list_action): Call handy utility function to get custom or default action icon based on mime tpye and type of action. (column_clicked): Remove some debugging cruft. 2001-02-14 Gene Z. Ragan Fixed bug 6570, Initial tab order in "Add application" dialog is broken. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window), (add_extension_clicked), (nautilus_mime_type_capplet_show_new_extension_window), (show_new_application_window), (show_edit_application_window): Set focus to proper widget in all of these functions. 2001-02-13 Gene Z. Ragan Fixed bug 6579, Clicking on a column for sorting performs descending sort first. * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Create a global array that tracks the initial first time click state of the columns. (column_clicked): Check click state of column and decide initial sort mode based on value. 2001-02-13 Gene Z. Ragan Fixed bug 6577, New mime type isn't highlighted after creation. * mime-type-capplet/nautilus-mime-type-capplet.c: (find_row_for_mime_type): Return index of row if mime type is found in list or -1 if it is not. (init_mime_capplet): Call find_row_for_mime_type() (nautilus_mime_type_capplet_update_info), (add_mime_clicked): Sort, select and scroll to new mime type. 2001-02-13 Ian McKellar * modules/http-method.c: (do_close): Added mime-sniffing to PUT to resolve bug 4102. 2001-02-12 Don Melton reviewed by: Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_mp3): Fixed bug 5570 (bmp file sometimes appears as an mp3 file) Basically I re-wrote the entire function to be much smarter about detecting an MPEG audio header and it now also checks for the existence of an ID3 version 2 tag. 2001-02-12 Gene Z. Ragan Fixed bug 6447, "Change file extensions" erases all extensions * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: (nautilus_mime_type_capplet_show_change_extension_window): Add a variable to function that tells if returned list is to be used to replace existing extension mapping for mime type. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (add_extension_clicked), (change_file_extensions_clicked): Do some sanity checking for empty or NULL new extensions 2001-02-12 Gene Z. Ragan Fixed bug 6471, wrong text in "add extension" dialog * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_extension_window): Update text using new language from Vera. 2001-02-12 John Sullivan reviewed by: Gene Z. Ragan (under protest, since Gene hates the use of "MIME") Changed all uses of "Mime" or "mime" in the UI to be "MIME". Also improved the wording for the "revert" dialog, though it still could use Verafication. Also, using "MIME" in the UI at all rather sucks. It would be nice if we could avoid this nerd terminology someday. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (initialize_edit_applications_dialog), (initialize_edit_components_dialog), (nautilus_mime_type_capplet_show_new_mime_window): * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (revert_mime_clicked), (create_mime_list_and_scroller): 2001-02-08 Gene Z. Ragan Fixed bug 6329, Typing gconf: and pressing ENTER in the navigation bar crashes Nautilus. * modules/gconf-method.c: (make_absolute): Replace dangerous macro with a function that error checks. (get_value_size), (set_stat_info_value), (do_open_directory), (do_read_directory), (do_get_file_info), (vfs_module_shutdown): Do error checking. 2001-02-08 Robey Pointer * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): Fix build bustage (declare 'ret'). 2001-02-08 Michael K. Fleming Bug 6451: Copying file into folder with space in it fails with "out of space" error. gnome_vfs_get_volume_free_space was calling statfs() with escaped paths and returning the wrong error code. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): 2001-02-08 Ian McKellar reviewed by: Robey Pointer * libgnomevfs/gnome-vfs-parse-ls.c: (gnome_vfs_parse_ls_lga): Fixing bug 6214 - the ls parser now correctly handles filenames with spaces in them. === end of changes from gnome-vfs-1 branch === 2001-02-28 Gene Z. Ragan reviewed by: Pavel Cisler Fixed bug 7148, Flash files identified as mp3 * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys.in: * data/mime/gnome-vfs.mime: Add application/x-shockwave-flash information. 2001-02-24 Marius Andreiana * configure.in: Added ro (Romanian) to ALL_LINGUAS. 2001-02-16 Seth Nickell * modules/test-method.c: (translate_uri): Make test-method.c not bite ass on "test://" 2001-02-13 Dan Winship * libgnomevfs/gnome-vfs-process.c (sigchld_handler): Initialize found to FALSE. 2001-02-07 Robin * Slomkowski * configure.in: Changed version to 2.0 FIRST COMMIT AFTER BRANCHING gnome-vfs-1 2001-02-06 Pavel Cisler reviewed by: Mike Fleming Fix 3451 (Loading a directory with a circular symbolic link causes the load to be interrupted) Fix 6221 (Nautilus shows only 6 of the 56 items in my home directory) * libgnomevfs/gnome-vfs-types.h: * modules/file-method.c: (get_stat_info), (get_stat_info_from_handle), (read_directory), (do_get_file_info), (do_get_file_info_from_handle): Make erors while obtaining stat info and mime type not interrupt directory loading. Make do_get_file_info not give up as easily when dealing with recursive links. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_empty_directories): Fix a problem where an error in directory emptying preflight or emptying itself would cause the operation to stop rather than continue with deleting the remaining items. 2001-02-06 Gene Z. Ragan Fixed bug 6258, Determine initial capplet sort column * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Sort based on first column in list. 2001-02-06 Maciej Stachowiak * Makefile.am, .cvsignore: Updated for new xml-i18n-tools. 2001-02-05 Pavel Cisler reviewed by: Seth Nickell Fix 5930 (Copy dialog often shows "1" as total number of fields in operation) Fix a ton of problems with the progress calculation. * libgnomevfs/gnome-vfs-xfer.c: (remove_file), (remove_directory), (count_each_file_size_one), (gnome_vfs_xfer_empty_directories), (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal), (gnome_vfs_xfer_private): When removing during a copy conflict, do not update the progress. Store and retireve the preflight results when doing a conflict handling during copy. Properly calculate removed file size -- use a nominal per-file overhead rather than the file size. Properly calculate progress for files with zero or near-zero size. Fix numerous wrong uses of total_bytes_copied and bytes_total. * configure.in: Bump GnomeVFS version. 2001-02-05 Gene Z. Ragan Work done to improve the mime tpye capplet. Enable the capplet to be launched with a mime type. If a mime type is an argument, have the capplet scroll to that item in the list before the user begins interaction. * mime-type-capplet/nautilus-mime-type-capplet.c: (main), (list_move_vertical), (list_moveto), (list_reveal_row), (init_mime_capplet), (populate_mime_list): 2001-02-05 Rebecca Schulman Fix problem that the mozilla view was the default for webdav directories (should be icon view) and that the music view was always first on the short list. The problem was that the default component for the supertype to the short list was first on the short list, instead of being after all of the regular mime type's short list components. We now only use the supertype's default if it is explicitly set by the user. reviewed by: Mike Fleming * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component): Only use the supertype's default if it is explicitly added by the user. Otherwise add the supertype shortlist components to the end of the short list. 2001-02-05 Rebecca Schulman reviewed by: Maciej Stachowiak * data/mime/gnome-vfs-mime-magic: Add bzip as a magic pattern * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_get_short_list_components): Return short list components in order of their appearance on the short list rather than in alphabetical order 2001-02-05 Michael K. Fleming * modules/http-method.c: (vfs_module_init): Bug 6303: GError was potentially being re-used after being free'd 2001-02-03 Michael K. Fleming reviewed by: Bug 6299: gnome_vfs_get_volume_free_space has never worked= But it works now, as cheesy as it is. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): 2001-02-03 Pavel Cisler reviewed by: * modules/http-method.c: (cache_check_directory), (vfs_module_init), (vfs_module_shutdown): Use an explicit mutex initializer instead of a static initializer to make things more portable. 2001-02-03 Rolf Grossmann reviewed by: Pavel Cisler Make it build on FreeBSD. * modules/ftp-method.c: Add includes. * modules/nfs-method.c: (nfs_clnt_call): #ifdef an unsupported define 2001-02-03 Pavel Cisler reviewed by: Mike Fleming Fix 3075 (gnome-vfs dumps core on FreeBSD 4.1-STABLE when you start Nautilus) * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (gnome_vfs_async_job_map_init): * libgnomevfs-pthread/gnome-vfs-async-job-map.h: * libgnomevfs-pthread/gnome-vfs-pthread.c: (gnome_vfs_pthread_init), (gnome_vfs_pthread_recursive_mutex_init): * libgnomevfs-pthread/gnome-vfs-pthread.h: * libgnomevfs-pthread/gnome-vfs-thread-pool.c: (gnome_vfs_thread_pool_init): * libgnomevfs-pthread/gnome-vfs-thread-pool.h: Get rid of recursive mutex static initialization. Add an initializer call that is called during backend init. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): * libgnomevfs-pthread/gnome-vfs-job.c: (job_notify), (gnome_vfs_job_set), (gnome_vfs_job_new), (gnome_vfs_job_destroy), (gnome_vfs_job_go): * libgnomevfs-pthread/gnome-vfs-job.h: Get rid of using "fast" pthread_mutex as a semaphore, use a real semaphore instead. * libgnomevfs/gnome-vfs-xfer.c: (copy_file_data): Fix a bug with not respecting "Retry" properly. 2001-02-02 Rebecca Schulman Fix bugs 6241 and 6171, that the default viewer was wrong for various types of files reviewed by: Gene Regan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_components): Use the new oaf query that will preserve iid list order in the short list. Also remove a fixme for bug 1142 that has now been fixed. 2001-02-02 Darin Adler reviewed by: Mike Fleming * libgnomevfs/gnome-vfs-result.h: Add include so you can include this file alone. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): Change "file" check to check for scheme == "file" instead of any scheme that starts with file. Also got rid of the case-sensitive version of "str_has_prefix" since the one case that was using it could use the case-insensitive one instead. 2001-02-01 Ramiro Estrugo reviewed by: Maciej Stachowiak * data/mime/gnome-vfs.keys.in: * doc/mime-data-specification.txt: * libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): * test/test-mime-info.c: (main): Change 'hacker' to 'advanced' for the advanced user level so that the names used for storage match those used for display. 2001-02-01 Ian McKellar reviewed by: Eskil Olsen * modules/ftp-method.c: (do_path_command), (do_path_transfer_command): Decode path before doing operations. (do_open_directory): Removed debugging output. * test/test-remote: * test/test-sync-create.c: (main): Fixed bugs in test code. 2001-01-31 Maciej Stachowiak reviewed by: Rebecca Schulman * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_component): Remove FIXME 1142 (OAF queries don't precisely match those used in Nautilus), upon further review I decided this was OK. 2001-01-31 Pavel Cisler reviewed by: Gene Z. Ragan Fix 5324 (Should get rid of stack-based GnomeVFSFileInfo) * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_set_file_info): * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_set_file_info_callback), (gnome_vfs_job_destroy_notify_result), (gnome_vfs_op_destroy), (execute_set_file_info): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_ref), (gnome_vfs_file_info_unref), (gnome_vfs_file_info_clear): * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_uri_exists): * libgnomevfs/gnome-vfs-xfer.c: (empty_directory), (non_recursive_empty_directory), (gnome_vfs_visit_list), (handle_name_conflicts), (copy_directory), (copy_items), (gnome_vfs_xfer_delete_items_common): * test/test-info.c: (main): Get rid of gnome_vfs_file_info_init. Replace all instances of stack-based GnomeVFSFileInfo structures, replace all calls to gnome_vfs_file_info_init with gnome_vfs_file_info_new. Replace most calls to gnome_vfs_file_info_clear with gnome_vfs_file_info_unref. * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_ref), (gnome_vfs_file_info_unref): Get rid of FILE_INFO_REFCOUNT_STACK. 2001-01-30 John Sullivan reviewed by: Darin Adler Fixed bug 5842 ("file://home" converted to "home") Now "file://home" is left as "file://home". There's a related bug where "file://home" isn't recognized as an invalid URI, which I'll write up and fix separately. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_local_path_from_uri): Only strip "file://" if uri starts with "file:///" * modules/file-method.c: (get_path_from_uri): Take out evil code that was prepending a "/" to file: URIs that were missing the initial "/". 2001-01-30 Darin Adler reviewed by: John Sullivan * data/mime/gnome-vfs-mime-magic: Change magic so it recognizes Nautilus links with lower-case XML tags instead of upper-case. 2001-01-30 Rebecca Schulman Removed all instances of "default_application_id" and "default_component_id" from the system gnome-vfs keys file, and fixed short list ordering where the current order would incorrectly determine the correct default application. Added documentation to the mime data specification about how exactly user and system configuration .keys files are used. We need to record this information about other mime data files as well. * data/mime/gnome-vfs.keys.in: * doc/mime-data-specification.txt: 2001-01-29 Mike Fleming reviewed by: Bug 5011: New versionable GnomeVFS module interface The GnomeVFSMethod now has a "method_table_size" as its first member, which should be set to sizeof (GnomeVFSMethod) so that GnomeVFS knows what version of the interface the method is using. Old modules will get compile-time warnings and will more than likely be not loaded at runtime. (If they do manage to load, they will break) Also: fixed cdda module to use new gconf HTTP proxy format * libgnomevfs/gnome-vfs-cancellable-ops.c: (gnome_vfs_open_uri_cancellable), (gnome_vfs_create_uri_cancellable), (gnome_vfs_get_file_info_uri_cancellable), (gnome_vfs_truncate_uri_cancellable), (gnome_vfs_make_directory_for_uri_cancellable), (gnome_vfs_find_directory_cancellable), (gnome_vfs_remove_directory_from_uri_cancellable), (gnome_vfs_unlink_from_uri_cancellable), (gnome_vfs_create_symbolic_link_cancellable), (gnome_vfs_move_uri_cancellable), (gnome_vfs_check_same_fs_uris_cancellable), (gnome_vfs_set_file_info_cancellable): * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_new): * libgnomevfs/gnome-vfs-method.c: (load_module): * libgnomevfs/gnome-vfs-module.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-seekable.c: (gnome_vfs_seek_emulate): * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_is_local): * modules/bzip2-method.c: * modules/cdda-method.c: (cdda_context_new): * modules/efs-method.c: * modules/extfs-method.c: * modules/file-method.c: * modules/ftp-method.c: * modules/gconf-method.c: * modules/gzip-method.c: * modules/http-method.c: * modules/nfs-method.c: * modules/pipe-method.c: * modules/test-method.c: * modules/translate-method.c: (vfs_module_init), (vfs_module_shutdown): 2001-01-17 Mike Fleming * modules/http-method.c: (sig_gconf_value_changed), (vfs_module_init): Changed gconf http proxy format Old: /system/gnome-vfs/use-http-proxy (bool) /system/gnome-vfs/http-proxy (string; host:port) New: /system/gnome-vfs/use-http-proxy (bool) /system/gnome-vfs/http-proxy-host (string) /system/gnome-vfs/http-proxy-port (int) 2001-01-29 Pavel Cisler reviewed by: Gene Z. Ragan Fixed 5781 (results of load_directory must be passed in chunks instead of the entire list) Fixed 1438 (use plain GList instead of GnomeVFSDirectoryList) * libgnomevfs/Makefile.am: Got rid of gnome-vfs-directory-list.c and gnome-vfs-directory-list.h * idl/gnome-vfs-slave.idl: * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_load_directory), (corba_gnome_vfs_async_load_directory_uri): * libgnomevfs-corba/gnome-vfs-slave-notify.c: (impl_Notify_load_directory): * libgnomevfs-corba/gnome-vfs-slave-process.h: * libgnomevfs-corba/gnome-vfs-slave.c: (load_directory), (impl_Request_load_directory): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (async_load_directory), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri): * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_load_directory_callback), (gnome_vfs_job_destroy_notify_result), (gnome_vfs_op_destroy), (load_directory_details), (execute_load_directory): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_load_directory_uri), (gnome_vfs_async_load_directory): * libgnomevfs/gnome-vfs-directory-list.c: * libgnomevfs/gnome-vfs-directory-list.h: * libgnomevfs/gnome-vfs-directory.c: (load_from_handle), (gnome_vfs_directory_list_load): * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs.h: * test/gnome-file-selection/gnome-file-selection.c: (populate_callback), (start_populating): * test/test-async-cancel.c: (directory_load_callback), (directory_load_failed_callback), (test_load_directory_cancel), (test_load_directory_fail): * test/test-async-directory.c: (directory_load_callback), (main): * test/test-directory.c: (print_list), (main): * test/test-shell.c: (do_ls), (validate_path), (get_regexp_name): Switched all the users of GnomeVFSDirectoryList to use a GList instead. Got rid of gnome_vfs_load_directory_sorted. Got rif of sorting rules. Move gnome_vfs_directory_list_load to gnome-vfs-directory.c and change it to use a GList. 2001-01-29 Rebecca Schulman Change the value of the "expects_uris" attribute of applications to have 3 possible values: "yes", "no", and "non-file". This change will allow applications to understand how to launch programs that expect local paths for local files, but uris for non-file locations. reviewed by: Darin Adler * data/mime/gnome-vfs.applications: Change expects_uris to "non-file" where appropriate (for now mpg123), and added supported_uri_schemes in places where "expects_uris" was "yes" but no supported uri schemes were listed. This information is not yet complete. * doc/mime-data-specification.txt: Remove the "[to be implemented]" tag from fields that are now fully implemented (supported_uri_schemes and expects_uris) * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-application-registry.h: * libgnomevfs/gnome-vfs-application-registry.c: (application_new), (value_looks_true), (get_bool_value), (application_add_key), (gnome_vfs_application_registry_get_mime_application), (gnome_vfs_application_registry_save_mime_application): Parse, set and get the new "expects_uris" attribute, and represent its set of possible values using an enum, rather than a gboolean. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (show_new_application_window), (show_edit_application_window): Add the right bug number to fixmes about updates need in the capplet to reflect the new application attributes * test/test-mime-handlers.c: (format_mime_application_argument_type_for_display), (print_application): Print the "expects_uris" attribute as part of the test program for application information parsing. 2001-01-29 Gene Z. Ragan Fixed bug 5847, MIME type capplet alphabetical order case sensitive * mime-type-capplet/nautilus-mime-type-capplet.c: (sort_case_insensitive), (column_clicked), (create_mime_list_and_scroller): Create a sort routine that is not case sensitive. 2001-01-29 Rebecca Schulman * test/test-mime-handlers.c: (print_application): Remove changes that won't work until the new type GnomeVFSMimeApplicationArgumentType is added. 2001-01-29 Rebecca Schulman Add new test output, first to debug the mime info test, that fails, and second to add a descrption test to the mime handlers test. The mime info test needs to be updated so that it works independent of locale. * test/test-mime-info.c: (main): * test/test-mime-handlers.c: (format_mime_application_argument_type_for_display), (print_application), (main): 2001-01-29 Robin * Slomkowski * configure.in: upped version to 0.5.0 2001-01-27 Robin * Slomkowski * Makefile.am: added xml-i18n files to EXTRA_DISTS 2001-01-26 Rebecca Schulman Add support for the "supported_uri_schemes" attributes in the mime applications file, and changed can_open_uris to "expects_uris" because this attribute is more about the way arguments should be specified than about its capabilities of understanding locations. The supported uri schemes attributes is optional, and if it is not included, the value is assumed to be file. reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-application-registry.h: Add the new function gnome_vfs_application_registry_supports_uri_scheme to the public api * libgnomevfs/gnome-vfs-application-registry.c: (application_new), (add_application_to_mime_type_table), (add_mime_type_to_application), (add_supported_uri_scheme_to_application), (remove_application_from_mime_type_table), (remove_mime_type_for_application), (supported_uri_scheme_list_copy), (gnome_vfs_application_registry_supports_uri_scheme), (gnome_vfs_application_registry_supports_mime_type), (gnome_vfs_application_registry_add_mime_type), (gnome_vfs_application_registry_remove_mime_type), Add supported uri schemes functions to complement the current mime type functions and refactor the mime_type functions to share code with the new supported_uri_schemes functions where appropriate (application_clear_mime_types), (application_add_key), Add ability to parse the supported_uri_schemes attribute (gnome_vfs_application_registry_get_mime_application), (gnome_vfs_application_registry_save_mime_application): Add supported_uri_schemes to these functions * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_application_copy), (gnome_vfs_mime_application_free), (copy_str_list): Add supported_uri_schemes to the MimeApplication structure * data/mime/gnome-vfs.applications: Add some new "supported_uri_schemes". What I have added is not complete. * doc/mime-data-specification.txt: Add information about how user files can augment, but not replace information about applications' accepted mime types and supported uri schemes. Add FIXMEs about how this isn't clearly correct. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (add_or_update_application), (show_new_application_window), (show_edit_application_window): Change can_open_uris to "Expects URIs" * test/test-mime-handlers-set.c: (main): * test/test-mime-handlers.c: (append_comma_and_scheme), (format_supported_uri_schemes_for_display), (print_application): Update tests, by adding new attribute 2001-01-26 Seth Nickell reviewed by: Gene Z. Ragan * modules/efs-method.h: * modules/file-method.h: Fix messed up header guards. 2001-01-25 Pavel Cisler reviewed by: Gene Z. Ragan * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private): Make new folder operation call GNOME_VFS_XFER_PHASE_COMPLETED like the other file operations to make it easier for callers to clean up their state. Simplify a bit. 2001-01-25 Darin Adler * test/test-uri.c: (main): Added some tests to help demonstrate aspects of bug 6022. 2001-01-24 Rebecca Schulman * doc/mime-data-specification.txt: Add documentation about new features we plan to add for 1.0. Most of them were already in the document, but I've also cleaned it up and added a new possible feature addition for the future that takes care of a few of our design concerns: the "handled_uri_schemes" attribute that will list uri schemes that an application can handle regardless of mime types. This will allow applications to accept uris that are not necessarily understood by gnome-vfs 2001-01-22 Darin Adler * check-mime.pl: Added lots of white space checks. 2001-01-22 Darin Adler * check-mime.pl: Added check for i-regular. 2001-01-22 Rebecca Schulman Fixed bugzilla.eazel.com bug 5498 about symbolic links across file systems caused copies instead of drags in nautilus. This change makes the order uris are passed to check_same_fs important. The first uri is now the "source uri," and the second is the "target uri." reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-ops.h: Change the argument names of check_same_fs to reflect the new argument names * modules/file-method.c: (do_check_same_fs): Do a stat on the "target uri" but an lstat on the "source uri" * doc/mime-data-specification.txt: Added bug number references to the problems that we list in the specification 2001-01-20 Pavel Cisler reviewed by: Rebecca Schulman Work on making Search cancellable. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel), (gnome_vfs_job_cancel): Move the job cancellation outside the job->access_lock to avoid having to have the load_directory call completely finish before cancellation takes effect. Move the setting of the cancelled flag outside gnome_vfs_job_cancel and into the access_lock so that cancellation of the job and cancellation of the callbacks is atomic. * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-directory.c: (gnome_vfs_directory_open_from_uri_cancellable), (gnome_vfs_directory_read_next_cancellable): Add new cancellable versions of gnome_vfs_directory_open and gnome_vfs_directory_read_next. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_load_directory_not_sorted), Use the new cancellable open and read_next calls in execute_load_directory_not_sorted. Pass in the cancellation context. 2001-01-19 Darin Adler * check-mime.pl: Update so it works with the new keys.in file. 2001-01-19 Pavel Cisler reviewed by: Michael Engber Fix 1200: count_items_and_size needs to deal with errors. Fix 4577: File copying that fills a partition will cause an unescapable loop of error dialogs. Fix 5518: Nautilus hits assert in build_error_string during some large copy operation. * libgnomevfs/gnome-vfs-xfer.c: (handle_name_conflicts), (copy_file_data), (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal): Make copy loop in copy_file_data properly bail when an error happens and retry is not requested. Make count_item_and_size ignore any errors except for cancellations of the copy -- we will deal with all the errors nicely either in the other parts of the preflight or during the copy itself. Pass in the target directory uri to the error handling code that reports that we have no space on the destination. HACKING: Add some more comments. 2001-01-19 Darin Adler reviewed by: John Sullivan Fix bug 5816 (Clicking "Refresh" in View as Image crashes Nautilus) by getting rid of a "free non-malloc'd memory" problem. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_all_applications): Fixed problem where the prune function was freeing application IDs that we don't own. (prune_ids_for_nonexistent_applications): Used g_list_free_1 for clarity. The old code used g_list_free, which will also work, since the removed node is a list of length 1. 2001-01-19 Darin Adler reviewed by: John Sullivan * .cvsignore: Ignore the xml-i18n-tools files. * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (callback_map_cancel_one), (gnome_vfs_async_job_cancel_callbacks): Use %u instead of %d to format unsigned ints. * libgnomevfs/gnome-vfs-process.c: (gnome_vfs_process_init): Take advantage of defaults for the hash and key comparison functions. * test/gnome-file-selection/gicon.c: (gicon_init): Take advantage of defaults for the hash and key comparison functions. 2001-01-19 Pavel Cisler reviewed by: Ramiro Estrugo Fix 5430: Duplicate a link -> Nautilus won't display without refresh. * libgnomevfs/gnome-vfs-xfer.c: (copy_symlink), (copy_directory), (copy_items): Replaced a call to gnome_vfs_create_link to a new copy_symlink call that properly updates progress and sends notifications about the link being created. 2001-01-18 Kenneth Christiansen * configure.in: Added AM_PROG_XML_I18N_TOOLS to support my changes to the i18n system. Requires cvs release of xml-i18n-tools. 2001-01-18 John Sullivan * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_expand_initial_tilde): Made this new function never return NULL, after discussing with Darin. Now it just returns (a copy of) the original path if it can't expand ~some_user_name/xxx. 2001-01-18 Pavel Cisler * libgnomevfs/gnome-vfs-directory-list.c: (gnome_vfs_directory_list_new): Get rid of an unused field. 2001-01-18 Pavel Cisler Part of fix to 4221 (Pressing Cancel button does not cancel) * libgnomevfs-pthread/gnome-vfs-job.c: (job_notify), (dispatch_xfer_callback), (dispatch_sync_job_callback): Make the xfer job notify callback return the same result when it gets cancelled by gnome_vfs_async_cancel as if the callback requested a cancellation. * libgnomevfs/gnome-vfs-xfer.c: (call_progress), (call_progress_with_current_names), (call_progress_uri), (call_progress_with_uris_often), (remove_file), (empty_directory), (remove_directory): Fixed a lot of white space. 2001-01-18 Mike Fleming reviewed by: Ramiro Estrugo * modules/http-method.c: (sig_gconf_value_changed), (vfs_module_init): Proxy preferences are now split into host and port rather than using one string. 2001-01-17 Pavel Cisler * test/test-async-cancel.c: (test_load_directory_cancel), (test_find_directory_callback), (test_find_directory), (main): Add more async tests. 2001-01-17 Pavel Cisler reviewed by: Rebecca Schulman Fix 5732 (Cancelling a File Copy dialog crashes Nautilus) * libgnomevfs-pthread/gnome-vfs-job.c: (job_notify): Fix a deadlock and a crash when xfer notify callback gets called repeatedly after the copy operation was cancelled (a separate bug). * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (gnome_vfs_async_job_cancel_callbacks): Fix a debug build problem. * libgnomevfs-pthread/gnome-vfs-job.h: Removed an unused field. 2001-01-17 John Sullivan reviewed by: Rebecca Schulman Fixed problems that were part of bug 5581 (Can't make StarOffice the default application for file types). There were three problems, of which two are now fixed: (1) Installing StarOffice (at least using Sun's installer) doesn't add its directory to $PATH, and it isn't installed in a directory already in $PATH. This is not fixed. (2) Applications not in $PATH were not stripped from the complete list, but should be since they can't be used (the same reason they are stripped from the short list and default). This is fixed. (3) The code that checked whether applications were in $PATH didn't handle paths starting with ~. This is fixed. * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_expand_initial_tilde): Function moved here and renamed from expand_tilde in nautilus-file-utilities.c. Next I'll make Nautilus use this function. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_all_applications): Prune nonexistent applications (including ones not in the path) from here also, since they can't be used by Nautilus. (executable_in_path): Handle parts of $PATH that start with ~ 2001-01-17 Ian McKellar * test/test-dirop.c: (main): Allow the initial permissions for a directory to be specified on the test tool command line. 2001-01-17 Pavel Cisler reviewed by: Darin Adler * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): Fix a typo (g_mutex_lock->g_mutex_unlock) that caused a race condition where async callbacks could have been scheduled after a cancellation. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_load_directory_not_sorted): Whitespace tweak. 2001-01-16 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_load_directory_callback), (gnome_vfs_shared_directory_list_unref), (execute_load_directory_not_sorted): Fix several crashes when load directory hits an error and ends up with an empty directory list. * test/test-async-cancel.c: (directory_load_failed_callback), (test_load_directory_fail), (main): Add a test to the test rig that catches the bug I fixed. 2001-01-16 Seth Nickell reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-application-registry.c: (get_keys_foreach), (gnome_vfs_application_registry_get_applications): * libgnomevfs/gnome-vfs-mime-info.c: (mime_list_sort): Add casts to strcmp's performed on gpointers so they will not generate warnings. 2001-01-16 Pavel Cisler reviewed by: Darin Adler Fix 5399: Callbacks need a better way to find out if they are still needed. Fix 5401: Decouple async jobs and callbacks. Fix 5402: DGnomeVFSAsyncJob cleanup needs to be simplified. Fix 5677: File copy operation crashes Nautilus. Fix 1129: Storage leak while cancelling an async operation. * libgnomevfs-pthread/Makefile.am: * libgnomevfs-pthread/gnome-vfs-async-job-map.c: (gnome_vfs_async_job_map_get_job), (gnome_vfs_async_job_map_add_job), (gnome_vfs_async_job_map_remove_job), (gnome_vfs_async_job_map_destroy), (gnome_vfs_async_job_completed), (gnome_vfs_async_job_map_shutdown), (gnome_vfs_async_job_map_lock), (gnome_vfs_async_job_map_unlock), (gnome_vfs_async_job_map_assert_locked), (gnome_vfs_async_job_callback_valid), (gnome_vfs_async_job_add_callback), (gnome_vfs_async_job_remove_callback), (callback_map_cancel_one), (gnome_vfs_async_job_cancel_callbacks), (async_job_callback_map_destroy): * libgnomevfs-pthread/gnome-vfs-async-job-map.h: * libgnomevfs-pthread/gnome-vfs-async-ops.c: Move gnome_vfs_async_job_map calls to their new file. Add a async job callback map. Switch to using a static recursive mutext for locking the job map. Add support for cancelling callbacks. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): Handle cancelling of both the job and it's callbacks. (async_open), (async_open_as_channel), (async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_create_symbolic_link), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_set_file_info), (pthread_gnome_vfs_async_find_directory), (copy_sort_rules), (async_load_directory), (pthread_gnome_vfs_async_xfer), (pthread_gnome_vfs_async_add_status_callback), (pthread_gnome_vfs_async_remove_status_callback): gnome_vfs_job_new now gets called with parameters for the op. Cache the job handle before starting the job to avoid accessing the job structure after it has been unlocked and possibly deleted. Get rid of gnome_vfs_async_job_expired, use gnome_vfs_async_job_completed instead. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine), (gnome_vfs_job_create_slave): Redo the way jobs are destroyed after they complete. Pass the job handle instead of the job structure itself to the thread_routine and check for the job being invalid by the time the thread_routine runs. * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_complete), (job_oneway_notify), (job_notify), (dispatch_open_callback), (dispatch_create_callback), (dispatch_open_as_channel_callback), (dispatch_create_as_channel_callback), (dispatch_close_callback), (dispatch_read_callback), (dispatch_write_callback), (dispatch_load_directory_callback), (dispatch_get_file_info_callback), (dispatch_find_directory_callback), (dispatch_set_file_info_callback), (dispatch_xfer_callback), (empty_close_callback), (handle_cancelled_open), (free_get_file_info_notify_result), (free_find_directory_notify_result), (gnome_vfs_job_destroy_notify_result), (dispatch_sync_job_callback), (dispatch_job_callback), (gnome_vfs_job_set), (gnome_vfs_job_new), (gnome_vfs_job_destroy), (gnome_vfs_op_destroy), (gnome_vfs_job_go), (serve_channel_read), (execute_open), (execute_open_as_channel), (execute_create), (execute_create_symbolic_link), (execute_create_as_channel), (execute_close), (execute_read), (execute_write), (execute_load_directory_not_sorted), (execute_load_directory_sorted), (execute_get_file_info), (execute_set_file_info), (execute_find_directory), (execute_load_directory), (xfer_callback), (execute_xfer), (gnome_vfs_job_execute), (gnome_vfs_job_cancel): Remove most of the synchronization between the async thread and the callbacks, now that the two share no state. Add a mechanism to figure out if a job is to expire after completing the current op or not. Switch to using g_idle_add for scheduling calbacks instead of g_io_channel. Get rid of tons of casts in the notify callback routines. dispatch_job_callback now deals with notify_results that belong to operations that have been canceled while the notification was being dispatched. Handle job cancellation in execute_xfer. * test/test-async-cancel.c: (make_asserts_break), (directory_load_callback), (test_open_read_close), (test_open_close), (my_yield), (test_load_directory_cancel), (main): Add more tests. * libgnomevfs-pthread/gnome-vfs-thread-pool.c: (gnome_vfs_thread_pool_wait_for_work): Augument profiler results a bit. * libgnomevfs/gnome-vfs-directory-list.c: Some small tweaks. 2001-01-15 Michael K. Fleming reviewed by: * libgnomevfs/gnome-vfs-xfer.c: (move_items), (gnome_vfs_xfer_uri_internal): More fun with bug 5250. Same-filesystem moves that failed from an error during a move would be deleted even if the user "skipped" them. move_items no longer gives progress callback GNOME_VFS_XFER_PHASE_MOVING for URI's that are skipped (prevents faulty copying of metadata) gnome_vfs_xfer_uri_internal returns an error if both move and link conditions are indicated (obvious contradiction) GNOME_VFS_XFER_PHASE_CLEANUP and associated item deletion no longer occurs for move or link case. I confirmed that this didn't mess up the Nautilus sync_transfer_callback metadata copying and update mechanism. 2001-01-12 Gene Z. Ragan Fixed bug 3229, Clean up appearance of File Types and Programs capplet * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Adjust positions of widgets for better look and feel. 2001-01-12 Gene Z. Ragan Fix bug 4797, user can choose an icon anywhere on his filesystem to associate it to a given mime type but the icon will not be used. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (entry_changed), (ientry_destroy), (browse_clicked), (nautilus_mime_type_show_icon_selection), (nautilus_mime_type_icon_entry_init), (nautilus_mime_type_icon_entry_set_pixmap_subdir): Remove ability to navigate to directories outside of the shared pixmap path. 2001-01-09 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.h: Oops, turn off spew that I enabled and checked in by accident. 2001-01-09 Pavel Cisler reviewed by: Darin Adler Fixed 5398 (Async callbacks need to be passed over ownership of data) * libgnomevfs-pthread/gnome-vfs-async-ops.c: (async_open), (async_open_as_channel), (async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_create_symbolic_link), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_set_file_info), (pthread_gnome_vfs_async_find_directory), (async_load_directory), (pthread_gnome_vfs_async_xfer): * libgnomevfs-pthread/gnome-vfs-job.c: (wakeup), (job_oneway_notify), (job_notify), (job_oneway_notify_and_close), (job_notify_and_close), (dispatch_open_callback), (dispatch_create_callback), (dispatch_open_as_channel_callback), (dispatch_create_as_channel_callback), (dispatch_close_callback), (dispatch_read_callback), (dispatch_write_callback), (dispatch_load_directory_callback), (free_get_file_info_notify_result), (dispatch_get_file_info_callback), (free_find_directory_notify_result), (dispatch_find_directory_callback), (dispatch_set_file_info_callback), (dispatch_xfer_callback), (gnome_vfs_job_destroy_notify_result), (dispatch_job_callback), (gnome_vfs_job_destroy), (gnome_vfs_op_destroy), (serve_channel_read), (serve_channel_write), (execute_open), (execute_open_as_channel), (execute_create), (execute_create_symbolic_link), (execute_create_as_channel), (execute_close), (execute_read), (execute_write), (execute_load_directory_not_sorted), (execute_load_directory_sorted), (execute_get_file_info), (execute_set_file_info), (execute_find_directory), (execute_load_directory), (xfer_callback), (execute_xfer): * libgnomevfs-pthread/gnome-vfs-job.h: Allocate a new struct for notification results for all async callbacks except for xfer. Pass the notification results as data when waking up the notification callback. Delete the notification results once the callback is done. Remove notification result fields from the different op structures. 2001-01-09 Aaron Brick * added MIME description guidelines in doc/mime-descriptions-guidelines.txt, superceding old rules in data/mime/gnome-vfs.keys. * referred to the new file twice in mime-data-specification.txt and in the comments of data/mime/gnome-vfs.keys. 2001-01-08 Ian McKellar reviewed by: mfleming@eazel.com * modules/ftp-method.h: * modules/ftp-method.c: (ftp_response_to_vfs_result), (get_response), (do_basic_command), (do_path_command_completely), (ftp_connection_release), (do_open), (do_make_directory), (do_remove_directory), (do_move), (do_unlink): The meaning of an FTP 550 response depends on what call was made. The GnomeVFSError to be returned for a 550 may now be specified at a higher level. (ftp_connection_create), (ftp_connection_destroy), (internal_get_file_info), (do_open_directory): Store the response of SYST (operating system) for each connection. Don't request server-side symlink expansion for MacOS servers, because they get confused. (do_read_directory): Unset the permissions bit of file info valid fields. 2001-01-08 Gene Z. Ragan Fixed bug 3041, "Action" column text is confusing * mime-type-capplet/nautilus-mime-type-capplet.c: (add_mime_clicked), (update_mime_list_action), (populate_mime_list), (create_mime_list_and_scroller): Made changes according to input from John and Arlo. Changed "Action" column to "Default Action." Changed action text when a viewer is specified to "View as" preprended to the action type. 2001-01-08 Mike Fleming reviewed by: pavel@eazel.com * libgnomevfs/gnome-vfs-xfer.c: (xfer_create_target), (copy_file), (copy_directory), (copy_items), (gnome_vfs_xfer_uri_internal): Bug 5250 (Hitting "skip" during a move operation across filesystems causes skipped file not to be copied but still to be deleted). The new behaviour builds a list of successfully copied URI's. It is these files that are deleted, not all of the original source URI's. Also: fix bug where files and directories copied from HTTP DAV server to local filesystem would have permissions of 000 set. Now, files and directories are left with permissions set according to the user's umask 2001-01-05 John Sullivan reviewed by: Darin Adler Fixed bug 5337 (MIME code hits disk every few seconds to check for changed data) I tried a gconf-based approach but was thwarted (see bug 5460). So I just removed the polling code that hits the disk. This leaves behind fairly minor bug 5459. Oh well. * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init), (reload_if_needed_idle_function): Removed the polling mechanism for checking whether data on disk has changed. (gnome_vfs_mime_info_reload): Added numbered FIXME comment about bugs 5459 and 5460. * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_emit_data_changed): Removed debugging spam accidentally left in earlier. * modules/http-method.c: (vfs_module_init): Removed FIXME comment for bug that I fixed recently. 2001-01-05 Rebecca Schulman reviewed by: Pavel Cisler * doc/mime-data-specification.txt: Add attribution to Darin Adler for his work on the document. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (gnome_vfs_async_job_map_shutdown): Remove a bogus assert that crashed when exiting if no async calls had been made. 2001-01-03 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): Fix a problem in my previous change -- in a certain sequence the job would expire and never call the last callback which in turn would cause the job spawner to try to cancel it or otherwise misbehave. 2001-01-03 Pavel Cisler reviewed by: Darin Adler Fix bug 5397 (use unique job IDs instead of GnomeVFSAsyncHandles) * libgnomevfs-pthread/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_open_callback), (dispatch_create_callback), (dispatch_open_as_channel_callback), (dispatch_create_as_channel_callback), (dispatch_close_callback), (dispatch_read_callback), (dispatch_write_callback), (dispatch_load_directory_callback), (dispatch_get_file_info_callback), (dispatch_find_directory_callback), (dispatch_set_file_info_callback), (dispatch_xfer_callback), (gnome_vfs_job_new): (gnome_vfs_async_job_map_add_job), (gnome_vfs_async_job_map_destroy), (async_job_map_remove_job), (gnome_vfs_async_job_expired), (async_job_map_get_job), (gnome_vfs_async_job_map_shutdown), (pthread_gnome_vfs_async_cancel), (async_open), (async_open_as_channel), (async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_create_symbolic_link), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_set_file_info), (pthread_gnome_vfs_async_find_directory), (copy_sort_rules), (async_load_directory), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_xfer), (pthread_gnome_vfs_async_add_status_callback), (pthread_gnome_vfs_async_remove_status_callback): assign jobs unique id's. Use a map to map job ids to job structs. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine), (gnome_vfs_job_create_slave): Add new jobs to the job id map as they get created. Remove them when a thread expires. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_thread_backend_shutdown): Get rid of the job id map when we quit. * libgnomevfs-pthread/gnome-vfs-thread-pool.c: Make some debugging code better. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_job_create_slave): Remove some code that was ifdefd out now that new thread pool code seems to be working fine. 2001-01-02 John Sullivan reviewed by: Darin Adler Fixed bug 5339 (http proxy value reset when any Nautilus preference changes). This is a low-priority bug but I was working on another related bug and couldn't help fixing this. * libgnomevfs/gnome-vfs-mime-monitor.c: Fixed a copy/paste error in a comment. * modules/http-method.c: (sig_gconf_value_changed): Ignore keys other than the ones we care about. 2001-01-03 Rebecca Schulman reviewed by: * doc/mime-data-specification.txt: 2000-12-29 Darin Adler reviewed by: Pavel Cisler Fixed bug 3117 (Certain files incorrectly get the core file icon in icon-view mode). * data/mime/gnome-vfs.mime: Changed the regular expression for core files to match only files named "core", not all files with "core" in their names. Added some FIXMEs. 2000-12-28 Darin Adler reviewed by: Maciej Stachowiak * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_format_file_size_for_display): Changed format from "1.1M" to "1.1 MB". For kilobytes, I decided to do the same thing we did for the Macintosh Finder, and use "123 K" instead of the correct but obscure "123 kB". These strings are marked for translation as before, so it can be changed for different countries. One reason these have to be changed is that they are currently inconsistent with the hard-drive size numbers displayed in the Nautilus hardware view (so one or the other had to change). 2000-12-22 John Sullivan * modules/http-method.c: (vfs_module_init): Added a FIXME with bug number for a bug I noticed here. 2000-12-22 John Sullivan * libgnomevfs/gnome-vfs-mime-info.c: (reload_if_needed_idle_function): Saved the terminal by removing a debug g_message. gno2000-12-22 Pavel Cisler * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_emit_data_changed): Save the world by adding a newline to the end of file. New gcc 2.96 is picky about that. 2000-12-22 John Sullivan reviewed by: Pavel Cisler GNOME_VFS part of fix for bug 4798 (icon changes in MIME type capplet aren't reflected automatically in Nautilus) I invented an object that emits signals when the MIME data changes. Clients can connect to the signal to do their evil deeds. Unfortunately, the granularity of the signal is just "some MIME data changed", but we can live with that for now. * libgnomevfs/gnome-vfs-mime-monitor.h: * libgnomevfs/gnome-vfs-mime-monitor.c: (gnome_vfs_mime_monitor_get_type), (gnome_vfs_mime_monitor_get), (gnome_vfs_mime_monitor_initialize), (gnome_vfs_mime_monitor_initialize_class), (gnome_vfs_mime_monitor_emit_data_changed): New files that define new class GnomeVFSMIMEMonitor. Its only purpose is to emit signals, and its only public function is gnome_vfs_mime_monitor_get (), which returns the one global GnomeVFSMIMEMonitor object so you can connect to its signals. The only signal it emits is "data_changed". * libgnomevfs/gnome-vfs-mime-private.h: Added prototype for gnome_vfs_mime_monitor_emit_data_changed so it can be called by other gnome-vfs-mime code. * libgnomevfs/Makefile.am: Add new .c & .h files to build. * libgnomevfs/gnome-vfs-mime-info.c: (reload_if_needed_idle_function), (gnome_vfs_mime_init): Poll every 5 seconds to reload if any data on disk has changed. It was already checking every time someone asked for data, but this lets clients be notified without them having to ask. (gnome_vfs_mime_info_reload): Call gnome_vfs_mime_monitor_emit_data_changed 2000-12-21 Pavel Cisler reviewed by: Gene Z. Ragan * libgnomevfs-pthread/Makefile.am: * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_job_create_slave), (gnome_vfs_thread_backend_shutdown): * libgnomevfs-pthread/gnome-vfs-thread-pool.c: (new_thread_state), (destroy_thread_state), (make_thread_available), (thread_entry), (gnome_vfs_thread_create), (gnome_vfs_thread_pool_shutdown): * libgnomevfs-pthread/gnome-vfs-thread-pool.h: Add a simple thread pool to avoid the overhead of creating new threads. Use the new thread pool calls when creating threads in gnome-vfs-job-slave. Left the old, non-thread pool thread creation in disabled by an #ifdef for now. I'll take it out later when we know everyting is OK about the new code. 2000-12-21 Maciej Stachowiak reviewed by: Pavel Cisler * data/mime/gnome-vfs.keys: Update IID for the nautilus text component. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_format_file_size_for_display): Fix some bugs Darin pointed out long ago (forgot to check this in somehow). 2000-12-21 Pavel Cisler * configure.in: Turn -Werror back on. * HACKING: Tell contributors not to turn -Werror off. * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_type_is_known): * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (display_upper_case_dialog): * modules/ftp-method.c: Fix all the warnings that crept in while -Werror was off. 2000-12-20 Lutz Müller * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_set_host_name), (gnome_vfs_uri_set_user_name), (gnome_vfs_uri_set_password): Fix two copy-paste bugs. 2000-12-19 Darin Adler reviewed by: John Sullivan Quick rewrite of pieces of the test module. * modules/test-method.c: (get_operation_settings): Changed name and design of the function. Also fixed backwards logic that had this returning results for the last setting that does not match a function name, rather than for the setting that does match. (start_operation), (finish_operation): Moved most of the work of the macros into these functions. (parse_result_text): Separated out the "name not found" result from the error code result. (load_settings): Rewrote the parsing code to be simpler. (do_open), (do_close), (do_read), (do_write), (do_seek), (do_tell), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_make_directory), (do_remove_directory) (do_unlink), (do_set_file_info), (do_truncate), (do_truncate_handle), (do_find_directory), (do_create_symbolic_link): Use new simpler macros. Also got rid of "do_" prefix on names of calls. (do_create), (do_is_local), (do_move), (do_check_same_fs): Update FIXME, since these are still not implemented correctly. (vfs_module_init): Minor style change. (vfs_module_shutdown): Free storage on shutdown. 2000-12-18 Andy Hertzfeld * data/mime/gnome-vfs.keys: added explicit i-regular icons to text-oriented mime-types, so you can see embedded text even when the standard gnome icons are present. 2000-12-18 John Sullivan reviewed by: Rebecca Schulman Fixed gnome-vfs half of bug 2109 (Images (and any other files) with "execute" bit set will try to be executed instead of viewed when activated). The change here is support for querying whether it makes sense to execute a file of a given MIME type. I'll check in the Nautilus code that calls this shortly. * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_type_is_known): New function, returns TRUE if a given MIME type has an entry in any of the hashtables. * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_can_be_executable): New function, returns whether or not a file of a given MIME type could sensibly be executable. Default is TRUE for unknown types (so we don't prevent new types from executing), but FALSE for known types (since the vast majority of MIME types cannot be directly executed). (gnome_vfs_mime_set_can_be_executable): New function, setter for this new feature. * data/mime/gnome-vfs-mime-magic: Changed "application/x-executable-file" to "application/x-executable-binary" since there are other types of executable files. * data/mime/gnome-vfs.keys: Made can-be-executable TRUE for the following MIME types: application/octet-stream application/x-csh application/x-executable-binary application/x-perl text/plain text/x-csh text/x-ksh text/x-perl Also changed "icon-filename" to "icon_filename" and "vfs-method" to "vfs_method" so we consistently use underscores in MIME data keys. Also improved the instructions at the top of the file a little. * test/gnome-file-selection/gicon.c: (get_icon_from_metadata), (gicon_get_icon_for_file_2), * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_icon), (gnome_vfs_mime_set_icon): Updated for underscore name change. 2000-12-18 Darin Adler * modules/bzip2-method.c: (do_open), (do_get_file_info): Applied the same 3 fixes that John Sullivan made to the gzip method to the bzip2 method, since it is just a copy. An example of the evils of copy and paste code. 2000-12-18 Darin Adler reviewed by: Pavel Cisler Fixed bug 5217 (Nautilus crashes if you type cdda: in the navigation bar.) * libgnomevfs/gnome-vfs-method.c: (load_module): Fixed bug where it was freeing the result of g_module_error. * modules/default-modules.conf: Disable both the cdda and the efs modules since compiling them is currently disabled. It's important to keep this file in sync. with the libraries it points to. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_directory_with_unique_name): A new directory that we are creating now qualifies as a top-level item. This makes logical sense, and helps the code in Nautilus handle metadata properly. This is a piece of my fix for bug 2199 -- the rest was checked into Nautilus the other day. 2000-12-18 John Sullivan Fixed bug 5216 (typing "deb:" in the uri text field crashes Nautilus) * modules/extfs-method.c: (do_get_file_info): Another place in a different module that needed to return GNOME_VFS_ERROR_INVALID_URI when the parent URI is NULL. 2000-12-15 John Sullivan reviewed by: Mike Fleming Fixed bug 4810 (typing "gzip:" in the uri text field crashes Nautilus) * modules/gzip-method.c: changed VALID_URI to check uri->parent, since all the code that uses it assumes the parent is good. (do_open), (do_get_file_info): return GNOME_VFS_ERROR_INVALID_URI instead of GNOME_VFS_ERROR_NOT_FOUND, to match other modules' behavior. 2000-12-14 Rebecca Schulman * doc/mime-data-specification.txt: Added initial draft of the mime data specification to the documentation directory. 2000-12-11 Mike Fleming * libgnomevfs/gnome-vfs-mime-info.c: (hack_getc): Changed to return int instead of char so it won't bust\ on systems that default to unsigned chars 2000-12-11 Mike Fleming * modules/http-method.c: (create_handle), (make_propfind_request), (resolve_409): Changed all protocol-related error returns to GNOME_VFS_ERROR_GENERIC (they were CORRUPTED_DATA which was clearly wrong) Fixed bug in resolve_409 that didn't handle URI's that have no parents. Got rid of a FIXME that had been fixed. 2000-12-11 Mike Fleming * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-types.h: * modules/http-method.c: (do_make_directory), (do_move): bugzilla.eazel.com 3942 -- renaming file to illegal name produces confusing response. do_move now returns GNOME_VFS_ERROR_BAD_PARAMETERS when the destination filename contains invalid characters. This is really an unfortunate mapping, but it mirrors what Linux's FAT drivers seem to do (they return EINVAL). 2000-12-11 Darin Adler reviewed by: John Sullivan * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-gen-mimedb.c: Removed the source and build rules for the obsolete gen-mime-db tool. We have parsed the MIME text files on when the library first needs the DB instead of saving a preparsed memory image for some time now. 2000-12-08 Pavel Cisler * modules/ftp-method.c: (do_read_directory): Oops. Fix the build. 2000-12-08 Pavel Cisler reviewed by: Gene Z. Ragan * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_from_name), (gnome_vfs_get_mime_type), (gnome_vfs_get_file_mime_type), (gnome_vfs_get_mime_type_from_uri), (gnome_vfs_get_mime_type_from_file_data): * libgnomevfs/gnome-vfs-mime.h: * modules/ftp-method.c: (ls_to_file_info): * modules/gconf-method.c: (set_mime_type_value): * modules/pipe-method.c: (mime_from_uri): * modules/translate-method.c: (tr_apply_default_mime_type): Replace all cases of "application/octet-stream" with a new symbolic name, GNOME_VFS_MIME_TYPE_UNKNOWN. 2000-12-08 Gene Z. Ragan * modules/ftp-method.c: (do_read_directory): Removed fixme for bug 3925. This was fixed in Nautilus. Resolving sym links during a directory read in the ftp module is resource intensive and probably not desired. 2000-12-08 Gene Z. Ragan reviewed by: Pavel Cisler Fixed bug 4660, Descrption lost when adding mime types Bug was caused by a failure to write out a mime type with caps in the string. I now convert all caps to lower case and inform the user what has happened. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (find_message_label_callback), (find_message_label), (show_message_box), (display_upper_case_dialog): New routines to display a nice dialog taken from Nautilus. (nautilus_mime_type_capplet_show_new_mime_window): Convert mime string to lower case if caps are present. 2000-12-08 Andy Hertzfeld * data/mime/gnome-vfs.keys: replaced all references to the old bonobo-text-plain component with the newer nautilus-text-view component 2000-12-07 Mike Fleming * modules/http-method.c: (process_propfind_propstat), (vfs_module_init): bugzilla.eazel.com 4317, 2795 : Implemented ctime/mtime file attributes for DAV 2000-12-06 Mike Fleming * modules/ftp-method.c: (ftp_response_to_vfs_result), (do_make_directory): Added FIXME. Translated error returned from do_make_directory to compensate for bad error mapping deeper in the module. 2000-12-06 Pavel Cisler reviewed by: Fixed 4736: Nautilus doesn't respect umask when creating a new folder. * libgnomevfs/gnome-vfs-xfer.c: (create_directory), Easy fix, we already do respect umask, just need to create new folders with 0777 instead of just 0700. Fixed 4324: modification date doesn't get preserved during copy: * libgnomevfs/gnome-vfs-xfer.c: (copy_file), (copy_directory), (copy_items): Added a gnome_vfs_file_info_set_type to the end of copy_file and copy_items, copying over the mod date, permissions and owner. 2000-12-06 Mike Fleming reviewed by: pavel@eazel.com * modules/ftp-method.c: (do_move): bugzilla.eazel.com 4224: ftp rename always overwrites -- ignores "force" parameter Just a drop in the bucket. 2000-12-05 Pavel Cisler reviewed by: Gene Ragan * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (progress_set_source_target), (remove_file), (empty_directory), (non_recursive_empty_directory), (gnome_vfs_visit_list), (count_each_file_size_one), (handle_name_conflicts), (gnome_vfs_xfer_delete_items_common), (copy_directory), (copy_items) (gnome_vfs_xfer_uri_internal): Part of fix 4894 "Dragging /proc from the tree view to /home causes a file not found". Part of fix to 3232 "Error message when copying rwx file from r-x folder to rwx folder". Part of fix to 3237 "No error occurs if move file to folder w/o write access". Part of fix to 3748 "misleading file operation error dialog" Made each of these properly set up the name of the copied item to fix all the cases where we got "Error moving (NULL) ..." messages that I came across while fixing the other bugs. Added a new phase, GNOME_VFS_XFER_CHECKING_DESTINATION and used it in gnome_vfs_xfer_uri_internal so I can distinguish between failures on read and failures on write. * libgnomevfs/gnome-vfs-xfer.c: (copy_directory), (copy_items): Fixed 4895 Copying /dev into my home directory crashes Nautilus. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal), (gnome_vfs_xfer_private), (gnome_vfs_xfer_uri_list), (gnome_vfs_xfer_delete_list): Moved calls to initial and last call_progress to the calling routine. 2000-12-05 Rebecca Schulman reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_parse): Remove this change: what we fixed this morning avoided the huge leak, but did not fix the real problem. This change isn't compatible with the real fix (see Darin's change below), and in fact it was amazing that it worked at all. 2000-12-04 Darin Adler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_magic_table): Added missing NULL check that made gnome_vfs very slow since it kept reading the MIME database over and over again! My apologies. 2000-12-04 Rebecca Schulman reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_parse): Fix a large leak in gnome-vfs mime, that resulted from not freeing a g_array segment during mime lookups 2000-12-03 Maciej Stachowiak reviewed by: Pavel Cisler * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_format_file_size_for_display): Changed factor for kilobytes to 1024 from 1000, megabytes to 1024*1024 from 1,000,000 and gigabytes to 1024*1024*1024 from 1,000,000,000. 2000-11-29 Darin Adler reviewed by: Mike Fleming * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_magic_table), (gnome_vfs_mime_clear_magic_table): Eliminate the unused "mmap" optimization. We haven't been generating the binary file for a while, and we've determined there's no real speed issue. * data/mime/gnome-vfs.applications: Use tabs consistently instead of some tabs and some spaces. Get rid of some extra whitespace on some lines. Fix some "can_open_uris" lines that said "can_open_urls" instead. * data/mime/gnome-vfs.keys: Use tabs consistently instead of some tabs and some spaces. 2000-11-29 Pavel Cisler * test/test-mime.c: (main): Oops, make it build. 2000-11-29 Rebecca Schulman reviewed by: Pavel Cisler * test/test-mime.c: (main): Added a --help argument that lists available arguments, and made the script understand both paths and uris, and report the case where a uri or path is not valid. 2000-11-29 Rebecca Schulman * modules/file-method.c: (rename_helper): Fixed bug 1185, that removing a directory always returns NOT_EMPTY on an error. 2000-11-22 Michael K. Fleming * modules/http-method.c: (sig_gconf_value_changed): Fixed bug where setting "/system/gnome-vfs/use-http-proxy" wouldn't cause the new http proxy to be used 2000-11-21 Mike Fleming reviewed by: pavel@eazel.com * modules/http-method.c: (cache_add_no_strdup), (cache_add), (cache_add_uri_and_children), (cache_add_uri), (make_propfind_request), (do_open_directory), (do_get_file_info): Now caches non-DAV get_file_info's. Mostly improves the situation by allowing a subsequent do_open_directory to return an error based on the file info in cache. Also added more "is_dav" bit to the cache records 2000-11-20 Mathieu Lacage reviewed by: Fix bug 4812. Also, make the capplet work by fixing random bugs here and there. It was the first time I could test it for true so, of course, got a bunch of small-border-effect bugs. * libgnomevfs/gnome-vfs-mime-info.c: (hack_getc): the most evil function I ever wrote. It recursively gets rid of the comment lines before the parsers ever get them. (iunstead of fixing thew parsers....) (load_mime_type_info_from): make it use nerw hack_gets function instead of getc_unlocked. (load_mime_list_info_from): idem. (gnome_vfs_mime_get_extensions_list): avoid returning the extensions of the system settings if the user has set the user extensions. (get_key_name): make it remove duplicates for true. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): fix bug 4812 by replacing "char *text[3]" by "char *text[4]". (nautilus_mime_type_capplet_show_change_extension_window): spaces. * mime-type-capplet/nautilus-mime-type-capplet.c: (update_extensions_list): fix border-effect bugs. (ie: when you have no extension for a mime type for example...) (add_mime_clicked): idem. 2000-11-20 Mike Fleming reviewed by: pavel@eazel.com * modules/http-method.c: (unhex_char), (unescape_unreserved_chars), (process_propfind_response): Fix HTTP attribute caching to work correctly with inconsistantly escaped URI strings. (note that the unescape_unreserved_chars function is ifdef'd out and not used) 2000-11-20 Matt Bissiri * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_icon_path_from_filename): Do not free the return value of g_getenv. (fixes a segfault that occurs if GNOME_PATH is set) 2000-11-19 Michael K. Fleming * modules/http-method.c: oops. fixed debug macro that didn't have a disabled version 2000-11-19 Mathieu Lacage Fix bug 4811 * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_set_extensions_list): add new function. Ultimately, I wished we could get rid of the direct access to the internal hastables but this is at least a first step. * libgnomevfs/gnome-vfs-mime-info.h: add prototype. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (add_extension_clicked): implement (remove_extension_clicked): implement (extension_list_selected): grey/ungrey delete button when selecting/unselecting (extension_list_deselected): idem (get_extensions_from_gtk_list): helper function. (nautilus_mime_type_capplet_show_change_extension_window): implement. (nautilus_mime_type_capplet_show_new_extension_window): fix a number of segfaults. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: change prototypes. * mime-type-capplet/nautilus-mime-type-capplet.c: (get_selected_row_number),helper function. (get_selected_mime_type), helper function (refactoring :) (really_change_icon): fix segfault. (update_extensions_list): update extensions when you change them. (change_file_extensions_clicked): create dialog. (init_mime_capplet): spaces. (nautilus_mime_type_capplet_update_info): make it use get_selected_mime_type. 2000-11-17 Mike Fleming * modules/http-method.c: (my_debug_printf), (get_header), (create_handle), (make_request), (http_handle_close), (do_open), (do_create), (do_close), (do_write), (do_read), (make_propfind_request), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_make_directory), (do_remove_directory), (do_move), (do_unlink): * test/http-postanalyze.pl: Added timing debug code. 2000-11-17 Mathieu Lacage reviewed by: Sullivan fix Bug 4768. Reported 3 bugs about separate issues: 4796, 4797, 4798. * data/mime/gnome-vfs.keys: change icon filenames to relative paths. * libgnomevfs/Makefile.am: add GNOME_VFS_PREFIX * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_reload): add initialition code if the mime stuff is not initalized when doing a reload. This avoids a segfault. * libgnomevfs/gnome-vfs-utils.c: (hack_file_exists): new function copied from gnome-libs: prviously named g_file_exists. (gnome_vfs_icon_path_from_filename): new API function. It looks in GNOME_PATH to find the icons and defaults to the gnome-vfs prefix one. It accepts only relative paths and returns an absolute path. * libgnomevfs/gnome-vfs-utils.h: add prototype. * mime-type-capplet/nautilus-mime-type-capplet.c: (really_change_icon), changes the icon used by a mime type. (gil_icon_selected_cb): changes the icon when you double-click. (change_icon_clicked_cb_real): changes the icon when you click on ok. (change_icon_clicked): connect to the clicked and select_icon signals to know when the user has made up his mind about hte new icon. (nautilus_mime_type_capplet_update_info), spaces. (add_mime_clicked): spaces. (nautilus_mime_type_capplet_update_mime_list_icon): spaces. (capplet_get_icon_pixbuf): spaces. (populate_mime_list): spaces. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (icon_selected_cb): spaces. (nautilus_mime_type_show_icon_selection): spaces. (nautilus_mime_type_icon_entry_get_relative_filename): new function. returns a relative filename instead of an abosulte one. * mime-type-capplet/nautilus-mime-type-icon-entry.h: add relative function prototype 2000-11-17 Gene Z. Ragan Fixed bug 2966, Fix cancellation support in FTP * modules/ftp-method.c: (do_path_command_completely), (do_transfer_command), (do_path_transfer_command), (host_port_from_string), (ftp_connection_create), (ftp_connection_acquire), (do_open), (internal_get_file_info), (do_get_file_info), (do_open_directory), (do_make_directory), (do_remove_directory), (do_move), (do_unlink), (vfs_module_init): Modified several functions to allow context to be passed in. We can then check the context for cancellation. * modules/http-method.c: (make_request): Code cleanup. 2000-11-16 Rebecca Schulman * modules/ftp-method.c: Change the formatting of some fixmes so that check-fixme will keep track of them 2000-11-16 Mathieu Lacage fix bug 4769 * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): tweak to look slightly better. fix a potential segfault too. * mime-type-capplet/nautilus-mime-type-capplet.c: (revert_real_cb), (revert_mime_clicked), (add_mime_clicked): add dialog hook. 2000-11-16 Gene Z. Ragan Fixed bug 4528, http method does not listen for 'use-http-proxy' preference. * modules/http-method.c: (vfs_module_init): Listen to changes in 'use-http-proxy' settings. (sig_gconf_value_changed), Check for status of 'use-http-proxy' system setting before setting proxy to new modified value. This allows a user to edit the text of the proxy without actually resetting the proxy to this value if the "Use Proxy" checkbox is unset. 2000-11-16 Mathieu Lacage Fix bugs 2767 and 3228 * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_stop_in_debugger), (nautilus_stop_after_default_log_handler), (nautilus_set_stop_after_default_log_handler), (nautilus_make_warnings_and_criticals_stop_in_debugger), add debugging functions. They are disabled by default. (main), add call to debuggin funcitons if they are enabled. (change_icon_clicked), implement. (init_mime_capplet), tweaks, cleanups (nautilus_mime_type_capplet_update_info), update icon. (revert_mime_clicked), implement correctly. (delete_mime_clicked), implement correctly. (add_mime_clicked), cleanups (capplet_get_icon_pixbuf), new function to get the pixbuf for a given mime type (populate_mime_list): use the new function above, refactor. (update_mime_list_action): idem. 2000-11-15 Mathieu Lacage * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), make it look like what Arlo wanted. (revert_mime_clicked): new callback to reset user settings. 2000-11-15 Pavel Cisler * test/test-uri.c: (main): Tweak a test to verify that bug 3401 is fixed. No reviewer, sorry. 2000-11-15 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (context_new), cleanups. (load_mime_type_info_from), cleanups (load_mime_list_info_from), cleanups (reload_if_needed), rename from maybe_reload (set_value_real), new function. (gnome_vfs_mime_set_value), make it use funiton above. (get_value_real), new function (gnome_vfs_mime_get_value), make it use funciton above (gnome_vfs_mime_get_key_list), cleanups (gnome_vfs_mime_get_extensions_list), cleanups (gnome_vfs_mime_get_extensions_pretty_string), cleanups (gnome_vfs_get_registered_mime_types), cleanups (gnome_vfs_mime_set_registered_type_key), make it use set_value_real. (gnome_vfs_mime_get_registered_mime_type_key): make it use get_value_real. 2000-11-15 Mathieu Lacage Buddy: pavel * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type): fix a compilation warning. remove a unused variable. * libgnomevfs/gnome-vfs-mime-info.c: (load_mime_list_info_from), spaces... (get_key_name), add checks not to return deleted mime types and not to return comments as mime types. (gnome_vfs_mime_reset), new API function: resets to system defaults. (gnome_vfs_mime_registered_mime_type_delete), new API fution: deletes a mime type. (gnome_vfs_mime_get_registered_mime_type_key), new non-exported function. (write_back_mime_user_file_context_callback): spaces... * libgnomevfs/gnome-vfs-mime-info.h: new prototypes. * test/test-mime-info.c: (main): add testing code for teh new API. 2000-11-15 Mathieu Lacage Buddy: pavel Fix bug 2650. remove *_without_fallback code. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type), (gnome_vfs_mime_get_default_action), (gnome_vfs_mime_get_default_application), (gnome_vfs_mime_get_icon), (gnome_vfs_mime_get_default_component): remove code trying to test for the supertype of a mime type because the first lookup always checks for the supertype anyway so the code was useless. * libgnomevfs/gnome-vfs-mime-handlers.h: remove *_without_fallback functions. 2000-11-14 Pavel Cisler Reviewed by: Mathieu Lacage * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): Fix 820, treating case-insensitive parts of URIs as such. * test/test-uri.c: (test_uri_match), (main): Add test suites for the case-insensitive handling. * data/mime/gnome-vfs-mime-magic: Removed an obsolete comment. * README: Add some instructions. 2000-11-14 Maciej Stachowiak reviewed by: Rebecca Schulman * data/mime/gnome-vfs.applications: Remove trailing whitespace from `abiword' and `galeon'. * libgnomevfs/gnome-vfs-application-registry.c (load_application_info_from): strip trailing whitespace from application IDs. (strip_trailing_whitespace): helper function 2000-11-13 Rebecca Schulman Reviewed by: Maciej Stachowiak * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-types.h: Add a new gnome vfs error, about the problem of the search index being out of date enough that no results could possibly come back, called GNOME_VFS_ERROR_SERVICE_OBSOLETE 2000-11-13 Darin Adler * gnome-vfs.spec.in: Turn "make check" off again. It doesn't work because the front end can't find the back end when it's not installed. 2000-11-13 Gene Z. Ragan Some more capplet work. The mime list now updates to reflect changes made to the default action button and menu item list. * mime-type-capplet/nautilus-mime-type-capplet.c: (application_button_toggled), (viewer_button_toggled), (application_menu_activated), (component_menu_activated), (add_mime_clicked), (nautilus_mime_type_capplet_update_mime_list_icon), (update_mime_list_action), (populate_mime_list): * mime-type-capplet/nautilus-mime-type-icon-entry.c: (entry_changed): Fixed a case where a NULL widget would cause an assertion. 2000-11-13 Gene Z. Ragan Fixed bug 3107, Setting na icon for a mime type does not work. * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet.h: (nautilus_mime_type_capplet_update_mime_list_icon): New function that sets/updates the icon in the mime list. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (icon_selected_cb), (nautilus_mime_type_show_icon_selection): Add call to new nautilus_mime_type_capplet_update_mime_list_icon function. 2000-11-13 Martin Baulig * modules/file-method.c (read_saved_cached_trash_entries): Use g_free() to free the `trash_path' and `mount_path'. 2000-11-11 Kjartan Maraas * mime-type-capplet/nautilus-mime-type.desktop: Added norwegian translation. * mime-type-capplet/nautilus-mime-type-capplet.c: Marked all strings for translation. 2000-11-11 Maciej Stachowiak Part of the fix to 4051. * data/mime/gnome-vfs.applications: Uncomment vi and lynx * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_application_copy): Copy the requires_terminal_flag. Unrelated bug fix: * modules/test-method.c: Use usleep(3), not usleep(1). 2000-11-11 Ali Abdin * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.applications: * data/mime/gnome-vfs.mime: Change audio/x-ogg to application/x-ogg 2000-11-09 Darin Adler * gnome-vfs.spec.in: Turn on "make check" for RPM builds. This is especially good for the Tinderbox. * modules/http-method.c: (process_propfind_propstat), (process_propfind_response), (make_propfind_request), (vfs_module_init): * modules/test-method.c: (load_config_file), (vfs_module_init): Use LIBXML_TEST_VERSION and the new macros to make gnome-vfs ready for gnome-xml 2.X or gnome-xml 1.X, as DV suggests. * modules/Makefile.am: * libgnomevfs/gnome-vfs-application-registry.c: * libgnomevfs/gnome-vfs-mime-handlers.c: Formatting tweaks. 2000-11-08 Gene Z. Ragan Fixed an error where access count was not reset during a close_directory call. * modules/cdda-method.c: (do_open), (do_get_file_info), (do_open_directory), (do_close_directory), (do_read_directory): 2000-11-08 John Sullivan * libgnomevfs-pthread/gnome-vfs-job.c: (execute_find_directory): Changed a g_new to g_new0 to fix problem where result_item->uri was sometimes uninitialized. Darin somehow found this bug when I couldn't figure out why make check in Nautilus was crashing. Hooray! 2000-11-08 Ramiro Estrugo * data/mime/gnome-vfs.applications: XMMS can open uris. 2000-11-06 Robin * Slomkowski * configure.in: upped development version to 0.4.2.0 2000-11-06 Robin * Slomkowski * configure.in: upped version to 0.4.2 2000-11-06 Robin * Slomkowski * configure.in: upped version 0.4.1.1 for internal incrimental release 2000-11-06 Darin Adler Fix bug 4490 (web sites with bad last modified dates (like www.centerbeam.com) result in "not found"). * modules/http-method.c: (create_handle): Change code so that headers that can't be parsed don't result in NOT_FOUND. They are instead ignored. * test/test-shell.c: (list_commands), (main): Fix some small problems in the test shell that I encountered while dealing with the bug. 2000-11-06 Maciej Stachowiak * data/mime/gnome-vfs.applications: Commented out entries for vi and lynx. This is the fix for 4468. 2000-11-06 Maciej Stachowiak * data/mime/gnome-vfs.applications, data/mime/gnome-vfs.keys: Some minor changes. Added Electric Eyes and made it the most preferred image viewer. Added ggv and made it more preferred than gv or ghostview for PDF viewing. Added proper entry for ogg123. Made mpg123 not require a terminal. Made mpg123 and xmms kmow that they handle secondary versions of various mime types. Made Acrobat the most preferred PDF viewer (if you've gone to the trouble of installing it, it's proably what you want). Changed editor preference order around a bit. 2000-11-05 Yukihiro Nakai * configure.in: Add sk(Slovak) to ALL_LINGUAS. 2000-11-03 Aaron Brick * gnome-vfs.applications: adobe acrobat can open multiple files. 2000-11-03 Mike Fleming * libgnomevfs/gnome-vfs-uri.c: (set_uri_element): Do it right this time 2000-11-03 Mike Fleming * libgnomevfs/gnome-vfs-uri.c: (set_uri_element): * test/test-uri.c: (main): "eazel-services:" needs to be treated like "http:" in Pavel's evil escaping fix. 2000-11-03 Robin * Slomkowski * configure.in: upped development version to 0.4.1.0 2000-11-03 Robin * Slomkowski * configure.in: upped version to 0.4.1 for release 2000-11-03 Darin Adler * modules/http-method.c: (do_get_file_info): Improved comments in here. 2000-11-03 Maciej Stachowiak Fix bugs 4445 and 2756. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_application): Make `gnome_vfs_mime_get-default_application' fall back to the short list if the default application is not found in the path. * data/mime/gnome-vfs.keys: Set StarOffice as the default for "application/msword" and "application/vnd.ms-excel"; set the short list preference order to StarOffice, then Applix, then AbiWord and Gnumeric respectively (on the assumption that if you have the proprietary apps installed, you probably wnat to use them). 2000-11-02 Mike Fleming * libgnomevfs/gnome-vfs-uri.c: * modules/http-method.c: (http_status_to_vfs_result), (do_move): bugzilla.eazel.com bug 4225, http-method now correctly obeys force_replace (being FALSE) in do_move. Users can't accidentally delete files by naming them the same. 2000-11-02 Andy Hertzfeld * data/mime/gnome-vfs.keys: removed web browsers from the short list for webdav directories, since we don't want the buttons for launching web browsers to show up when looking at directories. 2000-11-02 Robin * Slomkowski * gnome-vfs.spec.in: updated summary and added junk fields for vendor and distribution 2000-11-02 Pavel Cisler * gnome-vfs.spec.in: Fill out the description fields. 2000-11-02 Robin * Slomkowski * configure.in: gnome-vfs 0.4 has been tagged as GNOME-VFS_0_4 and the version of cvs has been upped to 0.4.0 2000-11-02 Robin * Slomkowski configure.in: upped version number for release 2000-11-02 Aaron Brick * gnome-vfs.[ak]*s added support for adobe acrobat removed staroffice as default for MS files (pending bug 4372) 2000-11-02 Gene Z. Ragan Some more capplet cleanup. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (check_button_status), (initialize_edit_applications_dialog), (initialize_edit_components_dialog): Have the Add, Edit and Delete buttons in the Edit Applications dialog be enabled/disabled properly based on the contents of the application list. Remove Cancel button from the Edit Component and Edit Application dialog, as we currently do not have a way to roll back the changed made. 2000-11-02 Andy Hertzfeld * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications): made it only include applications from the supertype on the short list if there were no applications assigned to the specific type. * data/mime/gnome-vfs.keys: removed "lynx" from the text/html short list for novice and intermediate users. 2000-11-02 Darin Adler Fix bug 4377 (Crash in the http method as a result of a redirect). * modules/http-method.c: (do_get_file_info): Add missing check for NULL. 2000-11-02 Rebecca Schulman Fixed bug 4121, that the vault will ... * libgnomevfs/gnome-vfs-xfer.c: (copy_file): handle errors on closing, which is when the http module actually does the write back to the server * modules/http-method.c: (create_handle), (make_request): Check for the case when a put fails with eof, and assume it's because there was insufficient space; the xythos server isn't correctly reporting 507 (http protocol insufficient space) yet. 2000-11-02 Gene Z. Ragan Fixed bug 4319, Edit and Delete actions in Application List do not function * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (populate_default_applications_list), (initialize_edit_applications_dialog), (nautilus_mime_type_capplet_show_new_mime_window), (add_or_update_application), (add_item_to_application_list), (show_new_application_window), (show_edit_application_window), (delete_selected_application): Bunches of code to handle adding, editing and deletion of application/mime type mapping. * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_mime_type_capplet_get_selected_item_mime_type): 2000-11-01 Aaron Brick * data/mime/gnome-vfs.[ak]*: added support for applixware changed default for .doc/.xls to staroffice added a handler (xanim) for video/[x-]msvideo 2000-11-01 Darin Adler Fix bug 4287 (Zope Studio-authored sites default to Icon View). * modules/http-method.c: (process_propfind_propstat), (process_propfind_response), (make_propfind_request): At Gene's request, rolled out his change. (do_get_file_info): New version of hack: don't do a propstat at all for root directories. 2000-11-02 Mathieu Lacage Fix bug 4299 hopefully. Need to test on my desktop machine first. * modules/http-method.c: (cache_check_directory), (do_get_file_info): make it always return text/html if we did a GET and there was a redirect. * test/test-shell.c: (do_info): add ability to display mime type. 2000-11-01 Gene Z. Ragan * modules/http-method.c: (process_propfind_propstat), (process_propfind_response), (make_propfind_request): Add hack variable to detect if x-directory/webdav has been returned for a root directory URL. If this is the case, return a value that causes HEAD to be called. 2000-11-01 Mathieu Lacage * configure.in: tweak efs configure. 2000-11-01 Aaron Brick * data/mime/gnome-vfs.keys: added handling for application/postscript 2000-11-01 Pavel Cisler Work on handling '?' in URIs properly, helping Darin with a broken URI query bug he is working on. * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-uri.c: (set_uri_element), (gnome_vfs_uri_new), (gnome_vfs_uri_new_private): Add a private version of gnome_vfs_uri_new that can optionally accept unknown uri schemes (methods). Added a very simple and hacky scheme-dependent URI escaping code. For now just made it escape reserved characters such as "?&=+", etc. get escaped for every scheme but "http", in which they are used as query separators, etc. Will need to redo this, having the individual modules handle the specifics at some point. For now this should help with our friendly website bugs. Added a call to the new routine that removes escaping from characters that don't need it. This will make uri matching, hashing, etc. work better for URIs that we originally receive in different escaped modes. * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_set), (unescape_character), (gnome_vfs_unescape_string), (gnome_vfs_remove_optional_escapes), (gnome_vfs_make_uri_canonical), (gnome_vfs_make_path_name_canonical): Add new escaping call. Share existing escaping code with other routines. Simplify the existing gnome_vfs_unescape_string call a bit. Add a call that can be used by the URI "make canonical" machinery to un-escape characters that do not need to be escaped. Add a new gnome_vfs_make_uri_canonical call. remanmed gnome_vfs_make_canonical_pathname to gnome_vfs_make_path_name_canonical. * test/test-uri.c: (test_make_canonical_path), (test_make_canonical), (main): Add new tests for the features that I added. 2000-11-01 Gene Z. Ragan * modules/cdda-method.c: (do_check_same_fs): Return TRUE always. 2000-10-31 Mathieu Lacage * modules/http-method.c: (do_get_file_info): remove support for HEAD. We now do only a PROPFIND and a GET to get the information on a file. 2000-10-31 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (remove_file), (remove_directory), (copy_file), (move_items), (link_items): Fix 848 - Failed copy operations still cause an icon to appear. Made xfer callbacks only get called when items were successfully moved, created and removed. 2000-10-31 Gene Z. Ragan Fixed offset glitch. Now files are extracted properly. Disabled paranoia to improve speed. Only basic ripping is done with no error checking. * modules/cdda-method.c: (do_open), (do_read), (get_data_size): 2000-10-31 Pavel Cisler * AUTHORS: * NEWS: Updates for the upcoming release. * libgnomevfs/gnome-vfs-uri.c: Take out an old FIXME that has been fixed. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Set up the target uri so that an alert about a target not being writable can actually display the name. * test/test-shell.c: (main): Make the test-shell not cause GConf to display the super-annoying "Failed to respond to the SaveYourself ..." dialogs. 2000-10-31 Gene Z. Ragan * modules/cdda-method.c: (cdda_context_new), (get_track_index_from_uri), (do_open), (is_file_is_on_disc), (do_get_file_info), (do_open_directory): Unescape basenames when performing comparison operations on cached cddb data. 2000-10-31 Darin Adler * gnome-vfs.spec.in: Got rid of vendor again. Checking this in is a bad idea. See discussion in bug 3461 for details. 2000-10-31 Ali Abdin * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: Temporary support for "audio/x-ogg" (until the mime issue is cleared up with the Ogg Vorbis crew) 2000-10-31 Darin Adler * gnome-vfs.spec.in: Add vendor. 2000-10-31 Gene Z. Ragan * modules/cdda-cddb.c: * modules/cdda-method.c: (cdda_context_new): Get proxy info using gconf. We are using the system keys that are shared by nautilus and ammonite. The only UI to change these values is in Nautolis right now. (do_is_local): Return TRUE (put_num), (write_wav_header): More cleanup. 2000-11-01 Ian McKellar * libgnomevfs/gnome-vfs-method.c: (load_module): Provide more verbose information when a module fails to load. * modules/http-method.c: (do_get_file_info): Fall back to using GET when PROPFIND and HEAD fail to return useful file info. See bug 4310. 2000-10-31 Gene Z. Ragan Made copying work. There is still an issue with more data being copied than requested. Will research problem more. * modules/cdda-method.c: (get_track_index_from_uri): Return index of uri in cdda table. (write_wav_header): Write wav format header data into a memory buffer. (do_open), (do_read): Call new routines above. * modules/Makefile.am: Remove module from official build 2000-10-30 Gene Z. Ragan * modules/Makefile.am: * modules/cdda-method.c: (do_open), (do_read), (get_data_size), (do_check_same_fs), (do_is_local), (put_num), (write_wav_header): * modules/default-modules.conf: More work in progress on cdda module. 2000-10-30 Darin Adler Fixed bug 4169 (Visiting "Services" several times causes future navigation to hang). * libgnomevfs/gnome-vfs-async-ops.h: Got rid of the error code result from gnome_vfs_async_cancel. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): Got rid of the error code result from gnome_vfs_async_cancel. (async_open), (pthread_gnome_vfs_async_open_uri), (pthread_gnome_vfs_async_open), (async_open_as_channel), (pthread_gnome_vfs_async_open_uri_as_channel), (pthread_gnome_vfs_async_open_as_channel), (async_create), (pthread_gnome_vfs_async_create_uri), (pthread_gnome_vfs_async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_create_symbolic_link), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_set_file_info), (pthread_gnome_vfs_async_find_directory), (async_load_directory), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri): Changed all the ops to not return error codes right away, and do all error reporting through callbacks. * libgnomevfs-pthread/gnome-vfs-job.h: Got rid of the error code result from gnome_vfs_async_cancel. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_op_destroy), (execute_open), (execute_open_as_channel), (execute_create), (execute_create_symbolic_link), (execute_create_as_channel), (execute_load_directory_not_sorted), (execute_load_directory_sorted): For all the operations that now might have NULL for the URI, report an GNOME_VFS_ERROR_INVALID_URI. (gnome_vfs_job_cancel): Got rid of the error code result from gnome_vfs_async_cancel. * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_open), (gnome_vfs_async_open_uri), (gnome_vfs_async_open_as_channel), (gnome_vfs_async_create), (gnome_vfs_async_create_as_channel), (gnome_vfs_async_create_uri), (gnome_vfs_async_create_symbolic_link), (gnome_vfs_async_close), (gnome_vfs_async_read), (gnome_vfs_async_write), (gnome_vfs_async_get_file_info), (gnome_vfs_async_find_directory), (gnome_vfs_async_set_file_info), (gnome_vfs_async_load_directory_uri), (gnome_vfs_async_load_directory), (gnome_vfs_async_cancel), (gnome_vfs_async_remove_status_callback): Don't expect a result from the back end for most functions. Get rid of error checking and the fake idle-based callbacks for the errors noticed before entering the back end. * modules/http-method.c: (get_utime), (cache_init), (cache_shutdown), (cache_entry_new), (cache_trim), (defaults_file_info_new): Use (void) instead of () for functions with no parameters. * test/test-find-directory.c: Add missing #include . 2000-10-30 Gene Z. Ragan Added cdda module files to CVS. They are not currently built by default. The module is not yet complete. If you want to build it and see it break, you need to have libcdparanoia installed. You can download this at www.xiph.org. I have not yet done the debugging work to try and build against different install locations of the lib. I would reccomend not hacking on this until I clean up the rough edges. * modules/Makefile.am: Added comented out entries for cdda module * modules/default-modules.conf: Added comented out entry for cdda module * modules/cdda-cddb.c: * modules/cdda-cddb.h: (CDDBSum), (CDDBDiscid), (CDDBGenre), (CDDBGenreValue): * modules/cdda-cdrom-extensions.h: * modules/cdda-method.c: * modules/cdda-method.h: (cdda_context_new), (cdda_context_free), (cdda_set_file_info_for_root), (read_handle_new), (read_handle_destroy), (do_is_local), (do_open), (do_create), (do_close), (paranoia_callback), (do_read), (do_write), (display_toc), (open_cdda_device), (is_file_is_on_disc), (get_file_info_for_basename), (do_get_file_info), (do_open_directory), (do_close_directory), (get_data_size), (get_data_size_from_uri), (do_read_directory), (do_check_same_fs), (do_make_directory), (do_remove_directory), (do_move), (do_unlink), (vfs_module_init), (vfs_module_shutdown), (PutNum), (write_wav_header): 2000-10-29 Dan Winship * libgnomevfs/gnome-vfs-mime-sniff-buffer.c (gnome_vfs_mime_sniff_buffer_new_from_memory): Set read_whole_file to TRUE so it doesn't try to call the (non-existent) read callback. 2000-10-30 Pavel Cisler * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_unescape_string_for_display), (gnome_vfs_make_canonical_pathname): * libgnomevfs/gnome-vfs-utils.h: Add a public "make canonical path" call for callers that do their own uri disection. 2000-10-29 Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string): Make gnome_vfs_uri_to_string not interpret uris in the form foo:bar as foo://bar. This fixes a bug Mathieu is working on and fixes 2802. Get rid of an extra comma. * modules/file-method.c: (do_read): Tiny tweak. * test/test-uri.c: (test_uri_to_path), (main): Add some tests and tweak others to match the proper // handling. 2000-10-29 Eskil Heyn Olsen * gnome-vfs.spec.in: if $prefix/lib not in /etc/ld.so.conf, add it. 2000-10-28 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (progress_set_source_target_uris): Fix 4059 - Duplicated fiels don't appear in WebDAV until refres. This happened on any uris that required a name/password pair. It was a stupid bug where the notification callbacks were passed the name without a password. This was because the uri was used in the progress dialog display. It's no longer displayed in a raw form so fixing this is a simple matter of passing back the entire uri. 2000-10-28 Pavel Cisler * modules/http-method.c: (sig_gconf_value_changed), (http_proxy_for_host_port), (process_propfind_propstat), (propfind_href_to_vfs_uri), (null_handling_strcmp), (match_unescaped_uri_text), (process_propfind_response), (make_propfind_request), (do_open_directory), (do_read_directory), (do_get_file_info), (do_is_local), (do_make_directory), (do_remove_directory), (is_same_fs), (do_move), (do_unlink), (do_check_same_fs), (vfs_module_init), (vfs_module_shutdown): Fix 4110 - document icon instead of folder icon for subfolder... I found a fix to this one while working on 4059. The problem was that the webdav server was overzealous about escaping and was returning urls that had '(' escaped. This is not needed according to the RFC. A uri text compare was failing because of this. Changed the test to unescape before the comparison. I also took a stab at cleaning up the three or so formatting styles throught the code into the required style in at least a part of the file. 2000-10-27 Darin Adler Fixed bugs in set_file_info enough to make it suitable for use renaming files in Nautilus. Also fixed problems in the MIME data so Aaron has a clean starting point to add things and check them with the check-mime.pl script. * data/mime/gnome-vfs-mime-magic: Fix an entry that had a stray plus sign at the beginning of the line. * data/mime/gnome-vfs.applications: Fixed misspelled MIME types (I think Andy just introduced these). * data/mime/gnome-vfs.keys: The type must be text/htmlh, even if people think of it as text/htmlH, because we use all lower-case in the MIME files and MIME types are not case sensitive. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_set_file_info): Allow FOLLOW_LINKS option. There was no good reason to disallow it and we need it now in Nautilus. * libgnomevfs-pthread/gnome-vfs-job.c: (serve_channel_write): Get rid of gratuitous use of alloca. (execute_set_file_info): Use the correct URI to get info if the set info call renamed the file. Before, it would try to use the old URI even though the file had been renamed. * modules/ftp-method.c: (do_path_command): Add FIXME about bad handling of paths with escape sequences. (do_get_file_info_from_handle): Implemented this. (do_move): Add FIXME about ignoring force_replace. (do_set_file_info): Implement. * modules/http-method.c: (do_move): Add FIXME about ignoring force_replace. (do_set_file_info): Implement. * libgnomevfs/gnome-vfs-xfer.c: (call_progress_with_current_names): Make the action default to abort if you don't pass a callback instead of defaulting to retry. This caused an infinite loop when failing to rename a file. Also remove gratuitous include of alloca.h. * modules/file-method.c: (do_set_file_info): Add FIXME about file names with "/" in them. * modules/bzip2-method.c: Fix list of function pointers to include set_file_info (was out of sync.). * modules/gconf-method.c: Fix list of function pointers to include set_file_info (was out of sync.). * modules/gzip-method.c: Fix list of function pointers to include set_file_info (was out of sync.). * modules/pipe-method.c: Fix list of function pointers to include set_file_info (was out of sync.). * libgnomevfs/gnome-vfs-uri.c: Remove gratuitous include of alloca.h. * modules/ftp-method.h: Tweak. * libgnomevfs/gnome-vfs-private.h: Whitespace. * test/test-uri.c: Fixed a comment. 2000-10-26 Andy Hertzfeld * data/mime/gnome-vfs.keys: at Bart's request, made star office the default application for star office documents. * data/mime/gnome-vfs.applications: changed the path for invoking star office from "office52/soffice" to "soffice" so it works with a broader range of versions 2000-10-26 John Sullivan * test/test-uri.c: (main): Added test case and two FIXME bugs for test cases with odd results. 2000-10-26 John Sullivan * modules/http-method.c: (make_propfind_request): More cleanup of *handle_return handling. This stuff was revealed when I temporarily #defined DAV_NO_CACHE to investigate another bug. 2000-10-26 John Sullivan Crashed while fiddling around in WebDAV looking at some other bug. Found cause of crash, and cleaned up various callers of offending routine (make_request). Maybe this will improve general stability for WebDAV. * modules/http-method.c: (make_request): Fixed case where failure in gnome_vfs_inet_connection_create would cause this routine to leave *handle_return uninitialized (now it sets it to NULL); rearranged code a little to fix leaks. (do_create): Rearranged code slightly for clarity. (do_close): Fixed leak of handle. (make_propfind_request): combined handle and handle_return into single variable for clarity and to avoid leaks. (do_get_file_info): added assert, removed unnecessary handle = NULL line. (do_make_directory): clarified use of handle 2000-10-26 Darin Adler * libgnomevfs-corba/Makefile.am: * libgnomevfs-pthread/Makefile.am: * libgnomevfs/Makefile.am: * modules/Makefile.am: Use INCLUDES instead of CPPFLAGS like the automake documentation says. 2000-10-25 Rebecca Schulman * modules/http-method.c: (do_create): Fixed bugzilla bug 3865, that you couldn't duplicate vault files. The problem was that the do_create method was ignoring the "exclusive" flag, and so a copy would create a file and the create method would silently be ok and overwrite the file, as per http protocol defaults. We now check for existence first, by doing a "HEAD" request. 2000-10-25 Darin Adler * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_get): More fixes to this function. Made it no longer do the "no op" seeks. Got rid of the problem where it would only read one chunk if the buffer's seek pointer was NULL. Make the check at the end of the function be based on the actual size requested, rather than on the amount of data we decided to read (which could be more than the request). 2000-10-25 Mathieu Lacage * configure.in: fix LIBEFS check. add gtkdoc check. * devel-docs/gnome-vfs/gnome-vfs-decl.txt: * devel-docs/gnome-vfs/gnome-vfs-docs.sgml: avoid an obvious error when compiling. * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime-info.sgml: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime.sgml: * devel-docs/gnome-vfs/tmpl/libgnome-vfs.sgml: regenerate templates... 2000-10-25 Darin Adler * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_get): Oops, got it wrong. This fixes another case that I missed. 2000-10-25 Darin Adler * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_get): Fixed error with the handling of a case where the file is smaller than the requested sniff buffer. The check was broken, and it also didn't set an error code to let the caller know there's insufficient data. * configure.in: Fixed check of gcc command-line switches to work properly even with -O. 2000-10-24 John Sullivan * data/mime/gnome-vfs.mime: Added extension-based MIME type entries for Word and Excel, since we want them to play nice with StarOffice at least. 2000-10-24 Rebecca Schulman Fixed a bug in the gnome vfs mime magic that we weren't actually seeking and reading the right chunks of files. Fixing this exposed a large performance problem related to mime types with magic numbers far into the file, so with Pavel's agreement, I remooved the microsoft mime types that are a 2x performance issue for the mime code. apparently, we never noticed they were working in the first place, but this really isn't an appropriate thing to do in the future. Also fixed a bug that the mime stuff was trying to reread after the end of the file again and again, but I don't think this helped performance as much as we first hoped. * data/mime/gnome-vfs-mime-magic: removed the microsoft mime types * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_parse), redid this to detect the end of file case, (try_one_pattern_on_buffer), (gnome_vfs_mime_try_one_magic_pattern), (gnome_vfs_mime_get_magic_table), (gnome_vfs_sniff_buffer_looks_like_text): fixed indenting * libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: added the "read_whole_file" entry to the sniff buffer struct * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_get): don't read if we've already read the whole file * libgnomevfs/gnome-vfs-mime.c: (file_seek_binder): Fix mistake where we'd swapped two arguments of fseek. Amazingly, it worked anyways, that way. :) 2000-10-24 John Sullivan * modules/ftp-method.c: (do_read_directory): added FIXME about not following symlinks 2000-10-24 John Sullivan * data/mime/gnome-vfs.keys: Added entry for audio/x-mpeg, which is returned by some web servers instead of the audio/x-mp3 that gnome-vfs knew about. 2000-10-23 Pavel Cisler More work on 2989, this should conclude the GnomeVFS portion of the work. * libgnomevfs/gnome-vfs-find-directory.c: Add comments about the meaning of the parameters. * modules/file-method.c: (find_trash_in_hierarchy), (try_creating_trash_in), (save_trash_entry_cache), (update_one_cached_trash_entry), (add_local_cached_trash_entry), (read_saved_cached_trash_entries), (create_trash_near), (find_locally_cached_trash_entry_for_device_id), (find_or_create_trash_near), (find_trash_directory), (do_find_directory): Add a logic where the create_if needed flag can be specified without the find_if_needed to signify that we want to just create the Trash in the right place without first searching for an existing one. Fix a bug where a newly created Trash item would not get cached. Fix a leak in read_saved_cached_trash_entries. Fix a bug in create_trash_near that would cause the call to try create in one directory above the disk we asked to create it. Added some debugging code. Tons of cleanup and comments. 2000-10-24 Grahame Bowland * AUTHORS: * modules/Makefile.am: * modules/default-modules.conf: * modules/nfs-method.c: * modules/nfs-method.h: * modules/nfs-method_mount.h: * modules/nfs-method_mount_xdr.c: * modules/nfs-method_nfs_prot.h: * modules/nfs-method_nfs_prot_xdr.c: Added initial NFS support to gnome-vfs. Read-only support reasonably stable; write support is not. Symlinks are one notable problem that will be fixed in the near future. 2000-10-23 Mike Fleming * modules/http-method.c: Turn off debugging spew, add myself to the "Authors" comment 2000-10-22 Mike Fleming * modules/http-method.c: (cache_add_uri_and_children), (process_propfind_response), (make_propfind_request): Caching and processing propfind requests now actually works with filenames containing escape characters (bugzilla.eazel.com bug 3875) 2000-10-22 Kjartan Maraas * data/mime/gnome-vfs.keys: Started adding Norwegian translations to this. 2000-10-20 Pavel Cisler * modules/file-method.c: (mkdir_recursive), (update_one_cached_trash_entry), (add_local_cached_trash_entry), (read_saved_cached_trash_entries): Fix mkdir_recursive to not bail before creating the last directory level. Fix find_directory trash entry caching to update an existing cache entry when new Trash gets created instead of just adding a new entry. Fix a test that checked if a trash directory existed and was backwards. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Small unescaping tweak. 2000-10-20 Pavel Cisler * modules/file-method.c: (mkdir_recursive): Fix an "extra increment" bug and a memory leak. Tweak the path for saving the trach entry cache file. * modules/file-method.c: (read_saved_cached_trash_entries): Removed a confused g_warning for a case that is legal. 2000-10-20 Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Fix a memory trasher Mathieu found. 2000-10-20 Michael Engber * libgnomevfs/gnome-vfs-xfer.c: (copy_directory): progress callbacks used to get called in situations when they shouldn't (error or skip cases). 2000-10-20 John Sullivan * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: Changed staroffice types from "x-soffice-*" to "x-staroffice-*" after user reported such a MIME type. 2000-10-20 John Sullivan * data/mime/gnome-vfs.keys: Added text/htmlH, which is used by the help system; also moved application/mime-type-test to alphabetical order so check-mime.pl doesn't gripe about it. 2000-10-20 John Sullivan * libgnomevfs/gnome-vfs-async-ops.h: Added missing include that was making this not standalone. This was uncovered by a Nautilus extra-includes-removing pass that caused build breakage. 2000-10-20 Pavel Cisler Work on bug 2989, not done yet. * modules/file-method.c: (mkdir_recursive), (match_trash_item_by_device_id), (find_disk_top_directory), (save_trash_entry_cache), (add_local_cached_trash_entry), (add_cached_trash_entry), (destroy_cached_trash_entry), (read_saved_cached_trash_entries), (create_trash_near), (cached_trash_entry_exists), (find_locally_cached_trash_entry_for_device_id), (find_cached_trash_entry_for_device), (find_trash_near), (find_trash_directory), (do_find_directory): Add a two level caching scheme for remembering trash folder locations. This will help us only do the long search for a Trash directory do the first time Nautilus ever runs or if a Trash directory gets moved manually by the user to a different place. In addition to caching the locations in a list in memory we now also save them into a file in the user home settings directory. Disks that have not had a Trash directory created on them are marked as such and next time Nautilus is run, they are not searched unless the user specifically requests a Trash directory to get created (by throwing something from the respective directory to the Trash). I still need to test/fix bugs in this. * test/test-find-directory.c: (main): Tweak test code to help debug the new code. 2000-10-19 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (empty_directory): Fix bugs 3861 and 3882 - emptying the Trash containing items with fancy names. Neither was PR2 but I noticed the bug and it was trivial to fix. 2000-10-18 Mike Fleming * modules/http-method.c: (make_propfind_request): See John, I told you that EOF change would break stuff :) (minor case of internal use of do_read not expecting the EOF error) 2000-10-18 Mike Fleming * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): Return GNOME_VFS_ERROR_NOT_SUPPORTED instead of ERROR_GENERIC when this call is attempted on a non-local filesystem. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Ignore errors from gnome_vfs_get_volume_free_space, which doesn't work on non-local filesystems * modules/http-method.c: (http_status_to_vfs_result), (make_propfind_request), (do_make_directory), (do_remove_directory): Enhance HTTP error to GNOME VFS error mapping Make MKCOL return correct code when directory already exists (was preventing Nautilus Duplicate from working) This should fix bugzilla.eazel.com 3735 2000-10-18 John Sullivan * modules/http-method.c: (do_read): Made http module return GNOME_VFS_ERROR_EOF when it reads 0 bytes. It was confusing clients by returning GNOME_VFS_OK in this state. 2000-10-17 Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Fix 1087 - gnome_vfs_uri_extract_short_name should probably unescape. It already was but it was using the wrong unescape funciton. 2000-10-18 Pavel Cisler Fix 2763 - "the uri code does not handle ../ and ./ like the RFC says it should" * libgnomevfs/gnome-vfs-private-utils.c: (find_next_slash), (find_slash_before_offset), (collapse_slash_runs), (gnome_vfs_canonicalize_pathname): Redo the routine that converts paths to a canonical form, fix all the bugs I found. * test/test-uri.c: (test_canonicalize), (main): Add a test suite for converting paths to canonical form and converting uris to canonical form. * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri), (set_uri_element): Get rid of unused macros, testing code that is no longer needed and some incorrect commented out code. 2000-10-17 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_new): * modules/http-method.c: (make_propfind_request), (do_get_file_info): * modules/test-method.c: (load_config_file), (do_move), (do_check_same_fs), (vfs_module_init): * test/test-uri.c: (main): Marked FIXMEs with bug numbers. 2000-10-17 Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Fix bug 2840 - URI parsing works wrong for URIs with # characters. The substring after '#' was being improperly parsed. * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_string), (gnome_vfs_uri_append_path): * libgnomevfs/gnome-vfs-xfer.c: (empty_directory), (PrependOneURIToList), (copy_items), (move_items), (link_items), (gnome_vfs_new_directory_with_unique_name): Made gnome_vfs_uri_append_path escape the supplied path for convenience. New gnome_vfs_uri_append_string now replaces the original behavior that expects the supplied uri part to be properly escaped. Hopefully this will be somewhat less confusing and easier to use. Used gnome_vfs_uri_append_string as needed in code that relied on old gnome_vfs_uri_append_path behavior. * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new), (destroy_element), (gnome_vfs_uri_dup), (gnome_vfs_uri_to_string), (gnome_vfs_uri_get_fragment_identifier): Added proper support for uri fragment identifiers, this seemed like a necessary addition to fixing bug 2840 properly. Fragment identifiers are now stored in a special field of GnomeVFSURI and they no longer get returned as a part or the uri path or stripped. They can be optionally excluded by gnome_vfs_uri_to_string using the new GNOME_VFS_URI_HIDE_FRAGMENT_IDENTIFIER flag. * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): Fix a bug where host_return was incorrectly checked causing "/" to always get appened to the resulting uri text. * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri_old), (uri_strspn_to), (split_toplevel_uri), (parse_uri_substring), (gnome_vfs_uri_new), (gnome_vfs_uri_dup), (gnome_vfs_uri_append_string), (gnome_vfs_uri_append_path), (gnome_vfs_uri_append_file_name), (gnome_vfs_uri_to_string), (string_match), (compare_elements), (gnome_vfs_uri_equal), (gnome_vfs_uri_is_parent), (gnome_vfs_uri_get_path), (gnome_vfs_uri_get_basename), (gnome_vfs_uri_extract_dirname), (gnome_vfs_uri_extract_short_name), (gnome_vfs_uri_extract_short_path_name) Ton of cleanups. * test/test-uri.c: (test_file_path_to_uri_string), (test_uri_has_fragment_id), (main): Add tests for new fragment identifier support. Fix up/extend tests for extended uri support. Add test for path escaping/unescaping. Eliminate FIXMEs that were fixed by this. 2000-10-17 Jarkko Ranta * configure.in: added fi to all_linguas 2000-10-16 Ramiro Estrugo * gnome-vfs.spec.in: Add gnome-vfs.applications. This fixes the problem where users using snapshot rpms where not getting sidebar buttons or "Open With" menu items. Thanks for Jurgen for pointing this out. 2000-10-16 Gene Z. Ragan Fixed bug 3042, Adding new mime type doesn't work. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): * mime-type-capplet/nautilus-mime-type-capplet.c: (add_mime_clicked): Write proper description key. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_extension): Work in progress on adding user defined extensions 2000-10-16 Gene Z. Ragan Fixed bug 3040, Action column has wrong contents Corrected an instance where text was not getting freed and reset. Also fixed a few leaks in the list population code. * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_application_menu), (populate_viewer_menu), (add_mime_clicked), (populate_mime_list): 2000-10-16 Ramiro Estrugo * modules/file-method.c: Include to get the prototype for rename(). 2000-10-14 Ian McKellar * modules/ftp-method.c: (dircache_setup), (dircache_expire): Initial caching support. Currently disabled. (do_path_transfer_command): Fix for empty paths. (ftp_connection_create), (ftp_connection_destroy), (ftp_connection_aquire), (ftp_connection_release): Count connections for debugging purposes. (ls_to_file_info), (do_get_file_info), (do_open_directory), (do_read_directory): * modules/ftp-method.h: Initial symlink expansion support * test/test-directory.c: (print_list): Better symlink debugging output. 2000-10-12 Mike Fleming * modules/http-method.c: Added define from GMan to make it compile under Solaris (hopefully) 2000-10-12 Martin Baulig * libgnomevfs-corba/gnome-vfs-slave.c (impl_Request_get_file_info): Call CORBA_string_dup() on p->name, p->symlink_name and p->mime_type. 2000-10-12 Grahame Bowland * libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_from_errno_code), (gnome_vfs_result_from_errno): * libgnomevfs/gnome-vfs-result.h: Added a gnome_vfs_result_from_errno_code convenience call. 2000-10-11 Mike Fleming * modules/http-method.c: Oops. I left the debug messages on 2000-10-11 Mike Fleming * modules/http-method.c: (propfind_href_to_vfs_uri): Forgoet a NULL on g_strconcat, as I'm prone to. 2000-10-11 Darin Adler Fixed broken remnants of support for building without GConf. * libgnomevfs/gnome-vfs-mime-handlers.c: (unref_gconf_engine), (get_user_level): Fixed code to work with new GConf. It was still using the pre-0.9 GConf API, but it was inside HAVE_GCONF conditionals which were always false. * Makefile.am: Removed HAVE_GCONF conditionals.. * configure.in: Removed broken code to set up HAVE_GCONF and GCONF_CONFIG. * modules/Makefile.am: Removed HAVE_GCONF conditionals. 2000-10-10 Mike Fleming * modules/http-method.c: (propfind_href_to_vfs_uri), (process_propfind_response): ugly hack: Eazel Vault returns "https" URI's in propfind requests, which was causing DAV to choke. 2000-10-09 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (PrependOneURIToList), (non_recursive_empty_directory), (remove_directory), (gnome_vfs_xfer_empty_trash): work on 825 - Inability to empty Trash after trashing a deeply nested directory. Added a fallback call that builds a uri list first without keeping directory file descriptors opened. 2000-10-09 Glynn Foster * configure.in: * libgnomevfs/gnome-vfs-utils.c: (istr_has_prefix), (gnome_vfs_get_volume_free_space): Added Solaris-specific changes to needed for getting the free volume space. 2000-10-09 Robin * Slomkowski * configure.in: upped the version to 0.3.1.0 as 0.3.1 has already been released many moons ago 2000-10-05 Mike Fleming * modules/http-method.c: (http_proxy_for_host_port), (vfs_module_init): When HTTP proxy is enabled, proxy is explicitly bypassed for "localhost" and "127.x.x.x.". We'd like to have a general configuration mechanism for non-proxy URL's in the future. This was causing bugzilla.eazel.com 3492 Also fixed some debug messages to work with the new gconf 2000-10-05 Ramiro Estrugo * modules/http-method.c: (vfs_module_init): Workaround a bug in gconf by not preloading a directory that is monitored. 2000-10-04 Pavel Cisler * libgnomevfs/gnome-vfs-utils.c: Move includes around to unbreak the build on Linux. 2000-09-21 Chris Toshok * configure.in: add checks for sys/vfs.h and sys/mount.h * libgnomevfs/gnome-vfs-utils.c: sys/vfs.h doesn't exist on some systems, so wrap #if HAVE_SYS_VFS_H. if there's no sys/vfs.h, try sys/mount.h. also, include sys/param.h if it's available (since including sys/mount.h on freebsd without first including sys/param.h breaks, at least in some versions of 4.x.) 2000-10-04 Ramiro Estrugo * acconfig.h: * configure.in: Add profiling support via --enable-profiler. 2000-10-03 Mike Fleming * data/mime/gnome-vfs.keys: bugzilla.eazel.com 2854 Icon view is now the default Nautilus view for viewing DAV-enabled HTTP directories 2000-10-03 Ramiro Estrugo * configure.in: * gnome-vfs.spec.in: * modules/gconf-method.c: (read_directory): * modules/http-method.c: (sig_gconf_value_changed), (vfs_module_init): Update for GConf HEAD (0.9) 2000-10-03 Christophe Merlet * data/mime/gnome-vfs.keys: Added french strings. 2000-10-02 Mike Fleming More file info caching stuff. Now caches the contents of directories (for a fairly short time). This still doesn't squeeze out as much performance as I had hoped, mostly because of Nautilus's habit of hitting ".nautilus-metafile.xml"'s . Negative caching and updating of the cache following method invocation (rather than just invalidating) could improve performance greatly. * modules/http-method.c: (cache_init), (cache_shutdown), (cache_entry_free), (cache_uri_to_string), (cache_check_directory), (cache_check_directory_uri), (cache_add_no_strdup), (cache_add), (cache_add_uri_and_children), (cache_invalidate_entry_and_children), (cache_invalidate_uri_and_children), (cache_invalidate_uri_parent), (make_request), (do_create), (do_close), (make_propfind_request), (do_open_directory), (do_make_directory), (do_remove_directory), (do_move): 2000-10-02 Mike Fleming * modules/http-method.c: (do_open_directory): Fix foolish crasher 2000-10-02 Mike Fleming * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_clear), (gnome_vfs_file_info_ref), (gnome_vfs_file_info_unref), (gnome_vfs_file_info_copy): Made the GnomeVFSFileInfo ref count mechanism thread-safe (increments and decrements are not guarenteed to be atomic) * modules/http-method.c: (my_debug_printf), (get_utime), (cache_init), (cache_shutdown), (cache_entry_new), (cache_entry_free), (cache_trim), (cache_check), (cache_uri_to_string), (cache_check_uri), (cache_check_directory), (cache_add_no_strdup), (cache_add), (cache_add_uri_and_children), (cache_add_uri), (cache_invalidate), (cache_invalidate_uri), (cache_invalidate_entry_and_children), (check_header), (parse_header), (get_header), (create_handle), (make_request), (process_propfind_propstat), (process_propfind_response), (make_propfind_request), (do_open_directory), (do_read_directory), (do_get_file_info), (do_move), (vfs_module_init), (vfs_module_shutdown): Add the first phase of file info caching for DAV. (These code paths are not executing for non-DAV sites). Caching is on by default now. 2000-10-02 Kjartan Maraas * gnome-vfs.spec.in: Really fix installation of the man page with rpm-4.0. The newer version compresses the man pages by default. Used *.5* instead of *.5.gz 2000-09-30 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_text): Fix a MIME sniffing bug that Bud was seeing where 0-byte files would show up as text/plain. * libgnomevfs/gnome-vfs-xfer.c: (remove_directory): Part I of fix to 1314 - Move to Trash faild if name conflict in trash. * libgnomevfs/gnome-vfs-xfer.c: (empty_directory): Handle errors during emptying directories properly. * libgnomevfs/gnome-vfs-xfer.c: (xfer_create_target), (move_items), (link_items): Cleanups. Rework the duplicate handling code. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_destination_is_writable), (gnome_vfs_xfer_uri_internal): Cleanups. Make the non-writable destination error and out of space on disk error get reported. Make the non-writable destination check only check on local file systems. Make the non-writable destination check clean up after a botched previous check that left behind a temporary file. 2000-09-29 Darin Adler * gnome-vfs.spec.in: Turn off "make check" again. For some reason it still fails on the Tinderbox, even with the LD_LIBRARY_PATH problem fixed. 2000-09-29 Eskil Heyn Olsen * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_list), (gnome_vfs_xfer_uri), (gnome_vfs_xfer_delete_list): Fixed the g_return_val_if_fails. 2000-09-29 John Sullivan Fixed bug I ran into where I would crash at Nautilus startup due to the presence of a NautilusDirectory for "file://.Trash-sullivan" * modules/file-method.c: (append_trash_path): Special-case "/" to avoid creating non-canonical "//.Trash" uris. (do_find_directory): convert path to uri before calling gnome_vfs_uri_new. 2000-09-29 Darin Adler * test/test-uri.c: (main): Added a test to demonstrate how badly gnome_vfs_uri_new handles paths that start with "//". 2000-09-29 Darin Adler * gnome-vfs.spec.in: Turn "make check" back on. * test/Makefile.am: Fix tests so they work even before gnome-vfs is installed for the first time. This has a nice side effect of making the test actually test the compiled code, not a previously installed version. 2000-09-29 J Shane Culpepper * test/gnome-file-selection/gnome-file-selection-history.c: * test/test-dirop.c: * test/test-escape.c: * test/test-mime-handlers-set.c: * test/test-mime-handlers.c: * test/test-mime-info.c: * test/test-mime.c: * test/test-sync-create.c: * test/test-sync-write.c: * test/test-sync.c: * test/test-unlink.c: * test/test-uri.c: Fixing heaps of inlined function errors. The new redhat compilers do not recognize functions like exit, strcmp, etc without the correct header anymore. gnome-vfs now builds happily on RedHat 7.0. 2000-09-29 J Shane Culpepper * libgnomevfs/gnome-vfs-directory-filter.c: Adding include so that above file builds right on newer compilers. 2000-09-29 Darin Adler * gnome-vfs.spec.in: Turn off "make check" since it doesn't work until the library is installed because of the back end. * test/test-uri.c: (main): Add some test cases. 2000-09-29 Darin Adler * gnome-vfs.spec.in: Make RPM builds do "make check" and also make them compile with warnings on. This make the Tinderbox more strict. Also use "make -k" so we get more errors at once on the Tinderbox. Errors are still errors, we just see more of them. * libgnomevfs/gnome-vfs-xfer.c: (system_time), (init_progress): Fix code to not use LL explicitly since that's not as portable as gint64 is. (init_progress): Got rid of code initializing the same fields to NULL twice. (empty_directory), (copy_items), (move_items), (link_items), (gnome_vfs_new_directory_with_unique_name): Change code to use file names in URI encoded form throughout. No unescaping in here. This was all done by changing which GnomeVFSURI calls we use. 2000-09-28 Ramiro Estrugo * configure.in: Switch the order of assignment of warnings to CFLAGS so that they can be overridden by the user at configure time. 2000-09-28 Mike Fleming Fixed file_info refcounting issues associated with _clear and _copy. (_clear retains the refcount; _copy leaves the refcount of the destination alone). Changed _init, _ref, and _unref to clarify that ref-counting a file_info that was allocated on the stack is illegal. Added _dup function. * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_init), (gnome_vfs_file_info_clear), (gnome_vfs_file_info_ref), (gnome_vfs_file_info_unref), (gnome_vfs_file_info_copy), (gnome_vfs_file_info_dup): * libgnomevfs/gnome-vfs-file-info.h: 2000-09-28 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_list), (gnome_vfs_xfer_uri), (gnome_vfs_xfer_delete_list): * libgnomevfs/gnome-vfs-xfer.h: Add a gnome_vfs_xfer_delete_list call to match the feature that already exists in gnome_vfs_xfer_async. Andy needed this code for theme deleting. 2000-09-28 Mike Fleming * libgnomevfs/gnome-vfs-iobuf.c: (gnome_vfs_iobuf_read): * modules/http-method.c: (http_file_handle_new), (get_header): I decided that the previous fix wasn't that great of an idea and fixed the caller of gnome_vfs_iobuf-read. 2000-09-28 Mike Fleming * libgnomevfs/gnome-vfs-iobuf.c: (gnome_vfs_iobuf_read): gnome_vfs_iobuf_read was returning GNOME_VFS_OK if a read was attempted at the end of file. It now correctly returhns GNOME_VFS_ERROR_EOF. 2000-09-29 Ian McKellar * modules/ftp-method.c: (ls_to_file_info), (do_read_directory): Fixed a bug where NULL was being returned for the mime-type for files whose type was unknown. Fixed a bug where a reading a directory would busy-loop forever on an empty string. 2000-07-28 Christophe Merlet * mime-type-capplet/nautilus-mime-type.desktop: Added the French strings. 2000-09-27 Mike Fleming get_file_info now makes a PROPFIND before a HEAD request, and does not make HEAD requests if the PROPFIND succeeds. This cuts down the number of HTTP requests made when working against a DAV server. Did some additional cleanup while I was at it. * modules/http-method.c: (defaults_file_info_new), (http_file_handle_new), (http_file_handle_destroy), (set_content_length), (set_content_type), (set_last_modified), (set_access_time), (create_handle), (make_request), (http_handle_close), (do_open), (do_create), (do_close), (do_write), (do_read), (process_propfind_response), (make_propfind_request), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_is_local), (do_make_directory), (do_remove_directory), (do_move), (do_unlink): 2000-09-27 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: (execute_xfer): Fix a double-destroy I introduced with my change to gnome_vfs_op_destroy yesterday. 2000-09-27 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (try_one_pattern_on_buffer), (gnome_vfs_mime_try_one_magic_pattern): * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: Some micro optimizations for calls that get executed a lot and show up high in profiles. 2000-09-26 Darin Adler More storage leak fixes. * libgnomevfs-pthread/gnome-vfs-job.c: (free_get_file_info_data): Free the URI list. (free_find_directory_data): Free the URI list. (gnome_vfs_op_destroy): Free the reference string in the create_symbolic_link case, the sort rules and pattern in the load_directory case, and the source and target URI lists in the xfer case. (execute_load_directory): Don't free the sort rules and pattern here any more since it's now done in the common cleanup (for both successful and cancelled operations). * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_create_symbolic_link): Whitespace. 2000-09-26 Darin Adler Fixed some quit time deallocation stuff to be better for leak checking purposes. * libgnomevfs-pthread/gnome-vfs-job-slave.h: * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): (gnome_vfs_job_create_slave), (gnome_vfs_thread_backend_shutdown): Got rid of the thread count and the related mutex, since we use a job count instead. Since the job count is manipulated only on the main thread, we don't need volatiles or mutexes. * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_new): Increment the job count. (gnome_vfs_job_finish_destroy): Decrement the job count. (gnome_vfs_job_get_count): Return the job count. * libgnomevfs/gnome-vfs-backend.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_get_job_count): Add a way to get the job count from the back end to replace the old way of getting a thread count from the back end. * test/test-async-cancel.c: (wait_until_vfs_threads_gone), (wait_until_vfs_threads_gone_no_main), (main): Use the job count instead of the thread count. 2000-09-25 John Sullivan * modules/http-method.c: (make_request): This routine was assuming there was a valid hostname, but for cases like "http://foo:" there was not. Now checks for NULL hostname and returns GNOME_VFS_ERROR_INVALID_URI. 2000-09-25 Pavel Cisler * test/test-async-directory.c: (test_read_file_close_callback), (test_read_file_succeeded), (test_read_file_failed), (test_read_file_read_callback), (test_read_file_read_chunk), (test_read_file_open_callback), (test_read_file_async), (directory_load_callback), (main): Add optional file read testing to the directory async test for performance measurement. 2000-09-25 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_job_callback), (gnome_vfs_job_new): Remove some unnecessary thread startup synchronization to speed up job creation. * libgnomevfs/gnome-vfs-mime-magic.c: (try_one_pattern_on_buffer): Tweak a routine that gets called a lot to gain a bit of performance. * test/test-async-directory.c: (directory_load_callback), (main): Some small tweaks. 2000-09-23 Mike Fleming * modules/translate-method.c: (tr_uri_translate): Removed dead FIXME (bugzilla.eazel.com 2798) 2000-09-23 Mike Fleming * modules/translate-method.c: (tr_exec_open_child), (tr_exec_do_retain), (tr_handle_exec): Make vfs-translate's -exec -retain more robust. Leaking processes is less likely; processes are restarted if they die 2000-09-22 Mike Fleming * modules/http-method.c: (http_handle_close): A NULL iobuf was being destroyed, which caused an assertion to be raised. 2000-09-22 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_open_callback), (dispatch_create_callback), (dispatch_open_as_channel_callback), (dispatch_create_as_channel_callback), (dispatch_load_directory_callback), (dispatch_get_file_info_callback), (free_get_file_info_data), (dispatch_find_directory_callback), (free_find_directory_data), (dispatch_set_file_info_callback), (dispatch_job_callback), (gnome_vfs_op_destroy), (execute_get_file_info), (execute_set_file_info): Fixed tons of storage leaks that happened when an operation was cancelled by freeing things stored in the GnomeVFSOp when the GnomeVFSOp is deleted instead of at callback time. Fixes bug 2746 (leak in cancelled gnome_vfs_xfer call). (execute_load_directory_not_sorted): Fixed a storage leak caused by allocating an info before checking for cancellation and then exiting without freeing it. * libgnomevfs/gnome-vfs-method.c: (gnome_vfs_add_module_to_hash_table), (gnome_vfs_method_get), (gnome_vfs_transform_get): Changed the name of "fill_hash_table" to "gnome_vfs_add_module_to_hash_table" to make the it easier for the leak checker (currently in the Nautilus source module, but useful for any program) to recognize this as an exception to the normal rules about what leaks are. A bit of a hack; alternatives include adding code to free things at exit time. 2000-09-22 Mike Fleming * modules/http-method.c: (http_file_handle_new), (http_file_handle_destroy), (do_close): Fixed lack-of-URI-refcounting problem and deleted a misplaced iobuf_write call. Markedly increases stability of DAV under vfs-translate. 2000-09-21 Andy Hertzfeld * data/mime/gnome-vfs.keys: dropped the prefix on the newly added icons names for music and spreadsheet, so it can choose the right icon to use 2000-09-22 Ian McKellar * modules/http-method.c: (make_propfind_request): Fixed bug 2655: Only request the WebDAV properties we're interested in. 2000-09-21 Andy Hertzfeld * data/mime/gnome-vfs.keys: tweaked the mime-types to use Susan's new icons for music and spreadsheet files. 2000-09-21 Mathieu Lacage * libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_canonicalize_pathname): make it not transform 'method://foo' to 'method://foo.' * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri): make it differentiate 'method://foo/' from 'method://foo' * modules/ftp-method.c: (do_path_command), (do_path_transfer_command), (ftp_connection_create), (ls_to_file_info), (do_open_directory): fix to handle the fact the gnome_vfs_uri_get_path can return a string of length zero. * modules/http-method.c: (make_request): handle the same special case as above. * test/test-uri.c: (main): add tests to test my new stuff. 2000-09-21 Darin Adler Fixed code that was creating a separate "job slave" object that was never really used. Fixes a storage leak. * libgnomevfs-pthread/gnome-vfs-job-slave.h: * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): Changed to take a GnomeVFSJob pointer instead of GnomeVFSJobSlave. (gnome_vfs_job_create_slave): Replaced the old gnome_vfs_job_slave_new with this simpler function. Also removed a lot of unused functions. * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_new): Use the new gnome_vfs_job_create_slave instead of gnome_vfs_job_slave_new and don't even try to keep a slave pointer around. 2000-09-21 Rebecca Schulman * libgnomevfs/gnome-vfs-directory-filter.c: (common_filter): * libgnomevfs/gnome-vfs-types.h: Added the filter type no dot files 2000-09-21 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (copy_file_data): Properly handle GNOME_VFS_ERROR_EOF. Fixes bugzilla 3225. 2000-09-21 Mike Fleming * gnome-vfs.spec.in: * configure.in: Added dependency to gconf-gtk; Moved GConf dependency to 0.8.0 * modules/Makefile.am: * modules/http-method.c: (sig_gconf_value_changed), (host_port_from_string), (http_proxy_for_host_port), (make_request), (make_propfind_request), (vfs_module_init), (vfs_module_shutdown): HTTP module now supports HTTP proxies. HTTP proxy is gotten from GConf key /system/gnome-vfs/http-proxy. This makes the HTTP module dependent on GConf. 2000-09-21 John Sullivan * mime-type-capplet/nautilus-mime-type-capplet.c: (mime_list_selected_row_callback): Removed an outdated FIXME. 2000-09-20 Gene Z. Ragan Found a case where a URI was used unitialized. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): 2000-09-20 Gene Z. Ragan Fixed a bug where transferring symbolic links from an ftp site would crash nautilus. Links are now properly identified. * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_stat_to_file_info): Handle symbolic links. * libgnomevfs/gnome-vfs-xfer.c: (copy_directory), (copy_items): Replace some plain asserts with assert_unreachable * modules/ftp-method.c: (get_response), (do_control_write), (ftp_connection_aquire), (ftp_connection_release), (ls_to_file_info), (do_get_file_info): 2000-09-20 Darin Adler * data/mime/gnome-vfs.applications: Both EOG and The Gimp had entries that claim they can handle URIs, but the versions of these programs that I have can't. * libgnomevfs/gnome-vfs-configuration.c: (parse_line): * libgnomevfs/gnome-vfs-mime-info.c: (does_string_contains_caps): On IRC, gmorten pointed out that we must cast to unsigned char before calling functions like isspace and isupper. There are probably other cases of this mistake here and in Nautilus, but here are some fixes. * libgnomevfs/gnome-vfs-gen-mimedb.c: Removed an unnecessary include of . * test/test-uri.c: (main): Fixed some typos and enabled some tests. We like to put the "wrong" results in here with a FIXME instead of commenting out the tests altogether. 2000-09-20 Gene Z. Ragan Renabled and cleaned up read only volume check. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): 2000-09-20 Gene Z. Ragan Fixed bug 1214, check if copy destination has enough room. This only works for local file systems. * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space): New function that gets free space on volume * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Call gnome_vfs_get_volume_free_space () before copy. 2000-09-20 Maciej Stachowiak * modules/file-method.c (do_read): Report EOF on EOF. 2000-09-20 Ian McKellar * modules/Makefile.am: * modules/test-method.c: (load_config_file): Little fixes for test-method. * modules/ftp-method.c: (do_path_command_completely), (do_transfer_command), (end_transfer), (do_create), (do_write): * test/test-remote: Fixing FTP issues raised by test-remote. 2000-09-19 Gene Z. Ragan Backing out previous change until current work on free space calculation is done as well. Work in progress on verifying free space on target copy location. * libgnomevfs/gnome-vfs-utils.c: (str_has_prefix), * libgnomevfs/gnome-vfs-utils.h: (gnome_vfs_get_volume_free_space): New function to return free space on destination volume. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Commented out checks until code is complete. 2000-09-19 Gene Z. Ragan Fixed bug 1213, add a check to figure out if destination is writable. Call gnome_vfs_open_uri () on destination and return error if one is returned. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): 2000-09-18 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (context_new), (load_mime_list_info_from): fix on fixup on fix on my previous commit. This parser code is truly evil but it now works both for me and dan. Remove the ":" at the end of old .mime file format when reading. 2000-09-18 Maciej Stachowiak Rename "foobar" module to "test". * modules/Makefile.am: * modules/default-modules.conf: * modules/foobar-method.c: * modules/test-method.c: (translate_uri), (get_operation_configuration), (parse_results_text), (load_config_file), (vfs_module_init): 2000-09-18 Dan Winship * libgnomevfs/gnome-vfs-mime-info.c (context_new): Fix up previous fix. It wasn't the ":"s, it was the "*"s. 2000-09-18 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (context_new): fix bug which made us unable to read old mime database format. the ":" was taken into account when reading the old database. 2000-09-18 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (ensure_user_directory_exist): add new function to create the user's home directory ~/gnome/mime-info if it does not exists (write_back_mime_user_file), (write_back_keys_user_file): use this new function here. 2000-09-16 Gene Z. Ragan Fixed bug 3042, Adding new mime type doesn't work * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): Return the new mime type if one was created * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_mime_type_capplet_update_info), (add_mime_clicked): Add info to main list. 2000-09-15 Gene Z. Ragan * data/mime/gnome-vfs.keys: Replaced EOG image component with the NautilusImageView 2000-09-15 Darin Adler * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_shutdown): Fixed a typo that crept in here a while back. It was preventing the shutdown code from running. 2000-09-15 Andy Hertzfeld * data/mime/gnome-vfs.keys: fixed bug 1870, images files don't have the right icons when thumbnailing is turned off. Fixed by defining icons in gnome-vfs.keys for all of the common image types. I also defined icons for the common audio types while I was at it. 2000-09-15 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (get_key_name), (gnome_vfs_get_registered_mime_types): fix bug 2759. no duplicates are returned anymore. 2000-09-15 Ali Abdin * modules/pipe-method.c, * modules/translate-method.c: Added a comment at the top saying it is licensed under the LGPL and Copyright to Red Hat Inc. (I checked with Sopwith first) * AUTHORS: "help" method is in Nautilus, not gnome-vfs so we shouldn't mention it here. 2000-09-14 Mathieu Lacage Fix bug 2758. remove a bunch of unused functions * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_description): move there. * libgnomevfs/gnome-vfs-mime-handlers.h: move get_description there. * libgnomevfs/gnome-vfs-mime-info.c: remove old functions. * libgnomevfs/gnome-vfs-mime-info.h: remove prototypes. * test/test-mime-info.c: (main): fix the test for these changes. 2000-09-13 John Sullivan Added StarOffice information to the MIME data. It's not well tested, because (A) I don't have StarOffice installed, and (B) the File Types & Programs capplet seems horribly broken in numerous unreported ways. * data/mime/gnome-vfs.applications: * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: 2000-09-13 Pavel Cisler * modules/file-method.c: (do_create_symbolic_link): Make it handle invalid URI with a returned error value rather than with an assert. 2000-09-13 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (copy_items), (move_items), (link_items): Fix a problem where file names would get escaped twice in the copy engine and caused files to get moved/copied with an escaped path. * modules/file-method.c: (get_path_from_uri): Tweak some white space. 2000-09-12 Darin Adler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_magic_table): Add the missing call to actually parse the text file. We never noticed it was missing, because we were getting the binary form of that table until recently. 2000-09-12 Seth Nickell * modules/Makefile.am: add building of foobar-method.c * modules/default-modules.conf: register foobar-method.c to handle "foobar:" * modules/foobar-method.c: (translate_uri), (get_operation_configuration), (parse_results_text), (load_config_file), (do_open), (do_create), (do_close), (do_read), (do_write), (do_seek), (do_tell), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_is_local), (do_make_directory), (do_remove_directory), (do_move), (do_unlink), (do_check_same_fs), (do_set_file_info), (do_truncate), (do_truncate_handle), (do_find_directory), (do_create_symbolic_link), (vfs_module_init), (vfs_module_shutdown): Foobar is a gnome-vfs debug module that allows you to redirect calls to another underlying method, and intercept and manipulate the calls, adding delays or returning errors to the client. 2000-09-11 Mathieu Lacage * test/test-uri.c: (main): remove the tests from compilation folowing pavel and Darin advices. 2000-09-11 Mathieu Lacage * test/test-uri.c: (main): add 2 new tests which fail and should be fixed somehow. I dunno how to fix them but they cause crashes in nautilus. /tmp/#test# is not taken into account by gnome_vfs_uri_new. 2000-09-10 Maciej Stachowiak Build fixes for latest Gtk+ * configure.in: Add AM_PATH_GTK check * libgnomevfs-pthread/Makefile.am: Use $(GTK_CFLAGS) in compiler flags * mime-type-capplet/Makefile.am: likewise * modules/Makefile.am: likewise * test/Makefile.am: likewise * test/gnome-file-selection/Makefile.am: likewise 2000-09-10 Maciej Stachowiak * gnome-vfs.spec.in: Revert kmaraas's last change, because it breaks rpm building for me (and for tinderbox). I wonder why man pages are apparently installed gzipped on Kjartan's system but not mine. 2000-09-09 Kjartan Maraas * gnome-vfs.spec.in: Fixed installation of man page. 2000-09-09 Gene Z. Ragan * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-mime-handlers.c: (sort_application_list), (gnome_vfs_mime_get_short_list_applications), (sort_component_list), (gnome_vfs_mime_get_short_list_components): Sort application and component lists alphabetically before returning them. 2000-09-08 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_new): Performance improvement Darin and I found: Change the priority of callbacks to G_PRIORITY_DEFAULT from G_PRIORITY_LOW to prevent serious performance drain where callbacks do not get scheduled early enough. This speeds up Nautilus directory update by 30% or so. 2000-09-08 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_mime_list): Fixed a couple of leaks and instances where gdk_pixbuf_new_from_file was being passed a NULL char *. 2000-09-08 Gene Z. Ragan Fixed bug 2839, setting icons for mime type is not remembered * mime-type-capplet/nautilus-mime-type-capplet.c: (main), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_mime_list), (nautilus_mime_type_capplet_get_selected_item_mime_type): Removed icon setting code callback from Change Icon button. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (icon_selected_cb), (cancel_pressed), (gil_icon_selected_cb), (nautilus_mime_type_show_icon_selection): Added gnome-vfs icon setting code to OK button callback. 2000-09-08 Maciej Stachowiak * data/mime/Makefile.am: Don't attempt to build binary version of mime database. * gnome-vfs.spec.in: Don't include gnome-vfs-genmimedb or the binary version of the mime database that it generates. 2000-09-08 Gene Z. Ragan Fixed bug 2766, viewer menu code is not finished. Enjoy your Content Loser. * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_viewer_menu): Made function work. 2000-09-08 Gene Z. Ragan Fixed bug 2789, Need to cancel non-file drags in icon entry field. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (drag_data_get): 2000-09-07 Dan Winship * data/mime/gnome-vfs.keys: lowercasify the handful of descriptions that started with a capital letter that wasn't part of a proper name. Rewrite a few descriptions to be more correct or more user-friendly. Add comments pointing out duplicated entries (like image/png and image/x-png) that need to be kept in sync. 2000-09-08 Ian McKellar * modules/http-method.c: (make_request): Implemented custom user-agent headers - specified by the GNOME_VFS_HTTP_USER_AGENT environment variable. 2000-09-06 Pavel Cisler * configure.in: Get rid of -Wno-uninitialized. This way we will get uninitialized variable warnings when we do a release build (with optimizations -O1 or higher). 2000-09-06 Darin Adler * test/test-uri.c: (main): Added tests for URIs with "#" characters in them. Not sure what "correct" is, so they are marked with FIXME. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Removed extraneous g_print. 2000-09-05 Robin * Slomkowski * libgnomevfs/Makefile.am: made gnome-vfs-mimedb statically link on Pavel's suggestion. This solves the make install problem in a chrooted environment. 2000-09-05 Mathieu Lacage * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_viewer_menu): initialize found_match to TRUE to avoid a segfault in certain non-obvious cases. this is a temporary hack waiting for bug 2766. 2000-09-05 John Sullivan Wrote bugs for the last (for now) 18 unbugged FIXMEs. * mime-type-capplet/nautilus-mime-type-icon-entry.c: (drag_data_get): * modules/bzip2-method.c: (do_get_file_info): * modules/extfs-method.c: * modules/file-method.c: (do_create_symbolic_link): * modules/ftp-method.c: (internal_get_file_info): * modules/gconf-method.c: * modules/gzip-method.c: (do_get_file_info): * modules/http-method.c: (process_propfind_propstat): * modules/translate-method.c: (tr_apply_default_mime_type), (tr_handle_exec), (tr_uri_translate): * test/test-shell.c: (do_info): * test/test-uri.c: (main): 2000-09-05 Martin Baulig * Makefile.am (SUBDIRS): Remove unconditional listing of the mime-type-capplet, it is already contained in $(SUBDIRS_GNOME) for the GNOME 1.x platform. 2000-09-05 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-magic.c: Fixed spelling in a FIXME. * modules/ftp-method.c: (ls_to_file_info): Fixed another minor formatting problem. 2000-09-04 Mathieu Lacage Add bugs to bugzilla.eazel.com for FIXMEs... * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type), (gnome_vfs_mime_get_default_application), (get_executable_name_from_command_string): * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_get_value), (gnome_vfs_get_registered_mime_types): * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-uri.c: * mime-type-capplet/nautilus-mime-type-capplet.c: (mime_list_selected_row_callback), (init_mime_capplet), (populate_viewer_menu), (delete_mime_clicked), (pixmap_file): 2000-09-03 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (write_back_keys_user_file): fix evil bug. forgot to fclose the file opened for user.keys file. All bugs are evil. I hate bugs. I HATE THEM. 2000-09-03 Mathieu Lacage * test/test-mime-info.c: (main): change directory to folder as in gnome-vfs.keys. bad boy who did not updated the tests and changed the data. 2000-09-03 Maciej Stachowiak * modules/ftp-method.c: Reformat to match gnome-vfs coding style. 2000-09-03 Maciej Stachowiak * libgnomevfs-pthread/gnome-vfs-job.c: (execute_set_file_info): * modules/file-method.c: (find_trash_directory): Added bug numbers to FIXMEs. 2000-09-03 Pavel Cisler * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (init_progress), (copy_directory), (copy_items), (move_items), (link_items): Add a flag to the xfer progress indicating a top-level item to allow triggering metadata copies. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_create_symbolic_link): * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_set_value): * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_viewer_menu): * modules/translate-method.c: (tr_uri_translate): * test/test-uri.c: (test_uri_host_port): Fix a bunch of uninitialized variables that Michael Meeks found. 2000-09-02 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_do_short_list_processing), (gnome_vfs_mime_get_short_list_components): fix small typo but evil bug. 2000-09-01 Mathieu Lacage * mime-type-capplet/nautilus-mime-type-capplet.c: (main), (init_mime_capplet), (populate_mime_list), (create_mime_list_and_scroller): remove debugging output. fix many run-time warnings. Now, can go into fixing real bugs. 2000-09-01 Mathieu Lacage * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_without_fallback), (gnome_vfs_mime_get_default_component), (join_str_list), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_components), (gnome_vfs_mime_id_in_component_list), (gnome_vfs_mime_id_list_from_component_list), (gnome_vfs_mime_remove_component_from_list), (gnome_vfs_mime_action_free), (gnome_vfs_mime_component_list_free), (OAF_ServerInfoList_to_ServerInfo_g_list): * libgnomevfs/gnome-vfs-mime-handlers.h: * test/test-mime-handlers-set.c: (main): * test/test-mime-handlers.c: (print_component), (print_action), (print_component_list), (main): remove test on OAF compile. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_application): fix bug: we were passing a NULL to some subroutine. * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_mime_list), (create_mime_list_and_scroller): fix misc warning at runtime. add debugging output. will remove soon. * test/.cvsignore: chuuut. 2000-09-01 Christopher James Lahey * libgnomevfs/gnome-vfs-mime-handlers.h: Removed #ifdef USING_OAF. 2000-09-01 Ian McKellar * test/.cvsignore: Added new binaries to .cvsignore. 2000-09-01 Ian McKellar * libgnomevfs/gnome-vfs-context.c: (gnome_vfs_context_emit_message): The fallback error message that is sent if context==NULL is now sent to stderr rather than stdout. It was confusing test programs before. * modules/http-method.c: (create_handle): Don't emit message if context==NULL * test/Makefile.am: Added some test programs... * test/test-dirop.c: New test to test make_directory and remove_directory. * test/test-unlink.c: New test to test unlink. * test/test-info.c: (main): Now returns a result so get_file_info's success can be tested from shell scripts. * test/test-sync-create.c: (main): * test/test-sync-write.c: (main): Removed superflous debugging info. * test/test-sync.c: (main): Cleaned up code a bit so this is 8 bit clean. * test/test-remote: A shell script that calls many of the test programs to check that a filesystem behaves in a sensible fasion. Its geared towards testing remote filesystems such as FTP and WebDAV. 2000-09-01 Pavel Cisler Bugzilla task 2186 -- Move/Copy/Link from multiple directories fails. Reworked the copy engine to use lists of URIs instead of pairs of directory URIs and file name lists. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_visit_list), (count_items_and_size), (directory_add_items_and_size), (handle_name_conflicts), (copy_file_data), (xfer_open_source), (xfer_create_target), (copy_file), (copy_directory), (copy_items), (move_items), (link_items), (gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_delete_items_common), (gnome_vfs_xfer_delete_items), (gnome_vfs_new_directory_with_unique_name), (gnome_vfs_xfer_uri_internal), (gnome_vfs_xfer_private), (gnome_vfs_xfer_uri_list), (gnome_vfs_xfer_uri): Completely reworked to support the new URI list APIs * libgnomevfs/gnome-vfs-xfer.h: * libgnomevfs/gnome-vfs-xfer.c: Renamed xfer calls to represent new APIs better. * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_xfer): * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-uri.c: Update to support new APIs. Got rid of copy_string_list that is no longer needed. * idl/gnome-vfs-slave.idl: * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_xfer): * libgnomevfs-corba/gnome-vfs-slave.c: (file_list_to_uri_g_list), (impl_Request_xfer): Update corba backend for new xfer APIs. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_xfer): * libgnomevfs-pthread/gnome-vfs-job.c: (execute_load_directory), (execute_xfer): * libgnomevfs-pthread/gnome-vfs-job.h: Updated pthread backend to support new xfer APIs. Fixed some leaks. * test/test-xfer.c: (main): Update tests to use new APIs. * libgnomevfs/gnome-vfs-xfer.c: Fixed FIXME 1193. * libgnomevfs/gnome-vfs-xfer.c: (g_string_list_deep_copy): No longer needed. * libgnomevfs/gnome-vfs-ops.c: * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_uri_exists): Added a new convenience call. Fixes FIXME 1201. * libgnomevfs/gnome-vfs-utils.h: Fixed some spelling. 2000-09-01 Maciej Stachowiak * po/Makefile.in.in: removed since gettextize auto-generates it. * configure.in: Turn off libefs more thoroughly. 2000-08-31 Robey Pointer * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_initialized): * libgnomevfs/gnome-vfs-init.h: Add gnome_vfs_initialized so you can check if gnome-vfs has been initialized already, without it whining. 2000-08-31 Gene Z. Ragan * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_backend_loadinit), (gnome_vfs_backend_shutdown), (func_lookup): * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): Checking on some Pavel code cleanup. 2000-08-31 John Sullivan Work towards bug 1037 (use "folder" rather than "directory" consistently) * data/mime/gnome-vfs.keys: Change "directory" to "folder" and "web directory" to "web folder" 2000-08-31 Gene Z. Ragan * Makefile.am: Added capplet to sub-directories to fix tinderbox build. 2000-08-31 Ramiro Estrugo * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_shutdown): Fix two typos. The same 2 hash tables were being freed twice. Also make the hash tables NULL after freeing them. 2000-08-31 Martin Baulig * modules/Makefile.am (INCLUDES): Added $(GLIB_CFLAGS). * libgnomevfs-pthread/Makefile.am (INCLUDES): Likewise. * libgnomevfs-corba/Makefile.am (INCLUDES): Likewise. * configure.in: Don't modify CFLAGS but set VFS_CLFAGS instead. Otherwise CFLAGS gets longer every time config.status is run. * */Makefile.am (INCLUDES): Add $(VFS_CFLAGS). * configure.in: Don't put -Werror into CFLAGS but into WERROR and AC_SUBST it. Some configure checks don't work with -Werror. * */Makefile.am (INCLUDES): Add $(WERROR). * test/.cvsignore: Added test-mime-info. 2000-08-31 Martin Baulig * libgnomevfs-pthread/gnome-vfs-job-slave.c (gnome_vfs_thread_backend_shutdown): Use g_main_iteration() instead of gtk_main_iteration_do() if `GNOME_PLATFORM_VERSION >= 1095000' (as preprocessor conditional). * libgnomevfs/gnome-vfs-private-utils.c (gnome_vfs_i18n_get_language_list): New function. This calls gnome_i18n_get_language_list() if `GNOME_PLATFORM_VERSION < 1095000' and g_i18n_get_language_list() otherwise. * libgnomevfs/gnome-vfs-mime-info.c: Remove the includes which were previously required for gnome_i18n_get_language_list. (gnome_vfs_mime_init): Use gnome_vfs_i18n_get_language_list() instead of gnome_i18n_get_language_list(). * libgnomevfs/gnome-vfs-application-registry.c: Remove the includes which were previously required for gnome_i18n_get_language_list. (gnome_vfs_application_registry_init): Use gnome_vfs_i18n_get_language_list() instead of gnome_i18n_get_language_list(). 2000-08-31 Martin Baulig * configure.in: Only check for GNOME if we're on the GNOME 1.2 platform. (VFS_GNOME_CFLAGS, VFS_GNOMEUI_CFLAGS, VFS_CAPPLET_CFLAGS): Added. (VFS_GNOME_LIBS, VFS_GNOMEUI_LIBS, VFS_CAPPLET_LIBS): Added. For the GNOME 1.2 platform, they contain the appropriate GNOME cflags and libs (set with `gnome-config --cflags/--libs'); for the GNOME 2 platform they only contain the appropriate GLIB cflags and libs (set with `glib-config-2.0 --cflags/--libs'). (VFS_GLIB_CONFIG): Added. This is either `glib-config' for the GNOME 1.2 platform or `glib-config-2.0' for the GNOME 2 platform. * gnome-vfs-config.in: New file. Template for gnome-vfs-config. We can't use gnome-config for the GNOME 2 platform since gnome-vfs doesn't depend on gnome-libs on it; this gnome-vfs-config script works for both platforms, however using gnome-config may be saner for the GNOME 1.2 one. * Makefile.am: Create a gnome-vfs-config script. * .cvsignore: Added gnome-vfs-config. 2000-08-31 Martin Baulig * acconfig.h (GNOME_PLATFORM_VERSION): #define this in config.h to be a number constant which is currently 1002000 for the GNOME 1.2.x platform. When compiling for the GNOME 2 platform, we patch configure.in to set this to 1095000. * configure.in (PLATFORM_GNOME_2): New automake conditional; true if `GNOME_PLATFORM_VERSION >= 1095000' (you need to patch configure.in to make this happen, ie. when compiling for gnome-libs HEAD). * acinclude.m4: New file. (AM_GNOME_SIZE_T, AM_GNOME_OFF_T): New autoconf macros which provide better checks for `size_t' and `off_t'; they also work when they're typedef'ed in and not #defined. * configure.in: Use AM_GNOME_SIZE_T and AM_GNOME_OFF_T. * Makefile.am: Disable the mime-type-capplet and test subdirectories if we're compiling for the GNOME 2 platform. 2000-08-31 Mathieu Lacage fixes bugs 1119 and 1839 * data/mime/gnome-vfs.keys: add a mime type for testing. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type), (gnome_vfs_mime_edit_user_file_full), (gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension): update to API changes below. move saving code to gnome-vfs-mime-info.c * libgnomevfs/gnome-vfs-mime-info.c: (does_string_contains_caps), (context_new), (context_destroy_and_unlink), (language_level), (context_add_key), (load_mime_type_info_from), (load_mime_list_info_from), (mime_info_load), (mime_list_load), (load_mime_type_info), (gnome_vfs_mime_init), (gnome_vfs_mime_info_clear), (gnome_vfs_mime_info_shutdown), (gnome_vfs_mime_freeze), (gnome_vfs_mime_thaw), (gnome_vfs_mime_set_value), (gnome_vfs_mime_get_value), (gnome_vfs_mime_keys_list_free), (gnome_vfs_mime_get_key_list), (gnome_vfs_mime_get_program), (gnome_vfs_mime_get_program_name), (gnome_vfs_mime_get_description), (str_cmp_callback), (gnome_vfs_mime_get_extensions_list), (gnome_vfs_mime_get_extensions_string), (gnome_vfs_mime_get_extensions_pretty_string), (gnome_vfs_mime_extensions_list_free), (gnome_vfs_mime_get_test), (gnome_vfs_mime_get_composetyped), (gnome_vfs_mime_get_copiousoutput), (gnome_vfs_mime_get_needsterminal), (get_key_name), (gnome_vfs_get_registered_mime_types), (gnome_vfs_mime_registered_mime_type_list_free), (gnome_vfs_mime_set_registered_type_key), (write_back_mime_user_file_context_callback), (write_back_mime_user_file_callback), (write_back_mime_user_file), (write_back_keys_user_file_context_callback), (write_back_keys_user_file_callback), (write_back_keys_user_file): Basically, make it work. update copyright. * libgnomevfs/gnome-vfs-mime-info.h: change some API. * mime-type-capplet/nautilus-mime-type-capplet.c: update to new API. (nautilus_mime_type_capplet_update_info), (populate_mime_list): * test/Makefile.am: add tests. * test/test-mime-info.c: (main): actual tests. Wed Aug 30 22:51:47 2000 George Lebl * libgnomevfs/gnome-vfs-handle.c, libgnomevfs/gnome-vfs-mime-handlers.c, libgnomevfs/gnome-vfs-mime.c: Remove the includes as they are not used and they mess with compilation with gnome-libs2 (this change is completely neutral otherwise) 2000-08-30 Darin Adler * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_slashes): Moved this function in here from Nautilus. Two advantages: 1) It can be used by other programs. 2) It can share code with all the other escaping functions. * test/.cvsignore: Ignore the test-sync-create file. 2000-08-29 Ian McKellar * modules/http-method.c: (make_request), (do_create): The create method now attempts to create a zero-length file as part of the opening process. This will allow errors to be detected. Create creates a zero-length file with the standard unix semantics anyway. * test/Makefile.am: * test/test-sync-create.c: (show_result), (main): Added a test-sync-create to allow testing of the create method. 2000-08-29 Ian McKellar * modules/http-method.c: (process_propfind_response): Fixed bug 2525 - host and port are now ignored in href comparisons in the WebDAV PROPFIND code. 2000-08-29 Ian McKellar * modules/http-method.c: (http_handle_close), (do_read): Fixed bug 2524 - extra debugging output removed. 2000-08-28 Gene Z. Ragan * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Pavel here. Refactored a bit making it more beautiful. 2000-08-28 Robin * Slomkowski * gnome-vfs.spec.in: fixed config file globs 2000-08-28 John Sullivan * data/mime/gnome-vfs.keys: Added application/x-palm-database, reported by a Nautilus user. 2000-08-27 Alastair McKinstry * ga.po: Added Irish translation. 2000-08-25 John Sullivan Fixed bug 1388 (some MIME types have no description) * data/mime/gnome-vfs.mime: * data/mime/gnome-vfs.keys: Added descriptions for all un-descriptioned MIME types from gnome-vfs.mime and mime-magic. The check-mime script now finds no problems. Also added a couple of missing MIME types that were reported by Nautilus users. 2000-08-25 Robin * Slomkowski * modules/Makefile.am: added efs-method.c efs-method.h forgotten files for make dist 2000-08-25 John Sullivan Fixed bug 2311 (sort by date should put most recent dates first). Also made the same change for size. Also fixed some bugs in trash-directory locating, and added testing code for this. * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_compare_for_sort): Added comment clarifying that the sort order should be the natural order for each type, not necessarily strict "small to large". Then changed size and date orderings to go the opposite way. * modules/file-method.c: (find_trash_directory): Fixed a couple of problems Darin and I discovered that involved trying to find Trash on "/". * test/test-shell.c: (do_findtrash), (main): Added findtrash command to test shell, and made it put the prompt on a new line instead of appending it to the most recent output. Fri Aug 25 09:15:15 2000 Dietmar Maurer * modules/efs-method.c: minor changes for new libefs code. 2000-08-24 Ali Abdin * modules/pipe-method.c: (do_close): Removed a FIXME because Darin says (in a prior cvs-commit) that we should destroy the handle even if it doesn't return GNOME_VFS_OK. Besides - this functions always returns GNOME_VFS_OK (if file_handle is allocated) 2000-08-24 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_find_directory_callback): Fixed NULL-unref problem. * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (istr_has_prefix), (gnome_vfs_get_local_path_from_uri), (gnome_vfs_get_uri_from_local_path): Added the local path functions that are so widely used in Nautilus so they can be used in medusa too, for example. * modules/file-method.c: (find_trash_directory): Fixed storage leak, added FIXME about poor error handling. 2000-08-24 Maciej Stachowiak * modules/Makefile.am: Disable efs module since it doesn't compile any more with the latest changes to libefs. 2000-08-23 Darin Adler * check-mime.pl: Added a check of the .applications file. * data/mime/gnome-vfs.applications: Fixed a lingering use of the old x-special/directory-webdav, which was superceded by x-directory/webdav. 2000-08-23 Darin Adler * data/mime/gnome-vfs.keys: Added a description for ksh scripts. 2000-08-23 Darin Adler * libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_do_close): * modules/bzip2-method.c: (do_close): * modules/gzip-method.c: (do_close): Removed FIXMEs about close behavior. It's now clear that the correct behavior on close is to always get rid of the handle, even if the close returns a non-GNOME_VFS_OK result, which indicates a failure of I/O, not necessarily of the close as a while. * check-mime.pl: Fixed a typo in a message. 2000-08-22 John Sullivan * check-mime.pl: Fixed small bug that was reporting a false out-of-order error for the first MIME type in gnome-vfs.mime. * data/mime/gnome-vfs.keys, * data/mime/gnome-vfs.mime: Fixed many of the problems found by check-mime.pl. I didn't add descriptions for all of the undescribed types yet because that will take a couple of hours of research that I'd rather spend later. 2000-08-21 Darin Adler * check-mime.pl: Added script to check if the MIME files have certain desirable properties. There are 69 errors reported now, and I bet John will fix them now that they are easy to spot. 2000-08-21 John Sullivan More tweaks to match MIME identification problems users have run into. * data/mime/gnome-vfs-mime-magic: changed audio/midi to audio/x-midi to match .keys file (and usage rules) * data/mime/gnome-vfs.keys: Added descriptions for application/x-smil, audio/x-it, and text/x-credits. Also moved one entry that was out of order. 2000-08-17 John Sullivan * data/mime/gnome-vfs.keys: Another missing description, for image/x-ico 2000-08-17 John Sullivan Fixed bug 1724 (some MIME types without descriptions) * data/mime/gnome-vfs.keys: Added descriptions for the following MIME types that users had run into: application/x-php application/x-toutdoux audio/x-mp3-playlist image/vnd.dwg text/abiword 2000-08-14 Pavel Cisler * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_find_directory): Fix a crasher in the new gnome_vfs_async_find_directory. 2000-08-13 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_find_directory): * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_get_file_info_callback), (dispatch_find_directory_callback), (dispatch_job_callback), (execute_find_directory), (gnome_vfs_job_execute): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (report_failure_get_file_info_callback), (report_failure_get_file_info), (gnome_vfs_async_get_file_info), (report_faliure_find_directory_callback), (report_failure_find_directory), (gnome_vfs_async_find_directory): * libgnomevfs/gnome-vfs-types.h: Add async version of gnome_vfs_find_directory. pthread backend only for now. 2000-08-12 Robin * Slomkowski * configure.in: just bumped the version on HEAD 2000-08-12 Ali Abdin * modules/Makefile.am: * libgnomevfs-corba/Makefile.am: Actually remove the linking to gnome-libs from the Makefile's now * libgnomevfs-pthread/gnome-vfs-job-slave.c: Replaced include of to 2000-08-11 Ettore Perazzoli * configure.in: Generate `devel-docs' first. 2000-08-11 Dan Winship * data/mime/gnome-vfs.applications: gnumeric can open Excel files. * data/mime/gnome-vfs.keys: Excel files can be opened by gnumeric. 2000-08-11 Ali Abdin * libgnomevfs/gnome-vfs-mime-snif-buffer.h: * libgnomevfs/gnome-vfs-application-registry.h: Remove unneeded #include (libgnome dependency) 2000-08-10 Darin Adler * data/mime/gnome-vfs.keys: Fix the default for directories. It was supposed to be the icon view, but had "ntl" instead of "nautilus". * test/.cvsignore: Ignore the new file generated (the test Pavel added). 2000-08-10 Maciej Stachowiak * libgnomevfs-corba/gnome-vfs-corba.c (gnome_vfs_corba_init): removed gratuitous call to gnome_init_with_popt_table * modules/efs-method.c: Removed gratuitous include of , replaced with 2000-08-10 Darin Adler * libgnomevfs/gnome-vfs-gen-mimedb.c: (main): * modules/file-method.c: (do_find_directory): Fixed backwards use of access. Access's result has the opposite sense of g_file_exists. 2000-08-10 Ali Abdin * libgnomevfs/gnome-vfs-gen-mimedb.c: (main): Replace gnomelib_init with gnome_vfs_init and replace Replace g_file_exists with access(,F_OK) Remove #include of gnome-libs file * modules/file-method.c: (do_find_directory): Replace g_file_exists with access(,F_OK) (do_set_file_info): Remove usage of g_concat_dir_and_file (to avoid gnome-libs dependency). Also #include * libgnomevfs-corba.c: #include 2000-08-10 Maciej Stachowiak * libgnomevfs/gnome-vfs-uri.c (parse_uri_substring, gnome_vfs_uri_new): Tolerate fragment identifiers by just ignoring them; differentiate them from the gnome-vfs method chaning syntax by checking for a colon past the pound sign. Wed Aug 09 23:26:17 2000 George Lebl * libgnomevfs/gnome-vfs-application-registry.[ch] (application_info_load) (gnome_vfs_application_registry_init) (gnome_vfs_application_registry_sync) libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_edit_user_file_full) libgnomevfs/gnome-vfs-mime-info.[ch] (mime_info_load) (mime_list_load) (gnome_vfs_mime_init) (write_registered_mime_data) libgnomevfs/gnome-vfs-mime-magic.h libgnomevfs/gnome-vfs-mime-private.h libgnomevfs/gnome-vfs-mime.[ch] (mime_load) (mime_init) libgnomevfs/gnome-vfs.h, libgnomevfs/gnome-vfs-private.h: Remove all the simple gnome dependencies. All the gnome-utils dependencies which can be replaced by about the same amount of non-gnome code. Also replace all BEGIN/END_GNOME_DECLS with the standard extern "C" foo. * libgnomevfs/gnome-vfs-private.h: Add NLS defines N_ and _ because those are handled by gnome normally. Also this uses the "private" defines from gnome-i18nP.h which is apparently the way to do this inside the library. 2000-08-09 Robin * Slomkowski * gnome-vfs.spec.in: should work again 2000-08-09 Pavel Cisler * modules/file-method.c: (find_trash_in_one_hierarchy_level), (find_trash_in_hierarchy), (try_creating_trash_in), (find_trash_directory), (do_find_directory): Add checks for cancellation at every level of trash lookup. Make it so that we start looking a good place for a new directory right in the top disk level rather than on level deeper. Check if entries returned from the cached Trash list still exist when find_if_needed is on. If they no longer do, flush them from the list. 2000-08-09 Ali Abdin * modules/extfs-method.c: * modules/pipe-method.c: Remove gratuitous gnome-libs dependency * modules/pipe-method.c: #include 2000-08-09 Ali Abdin * libgnomevfs-corba/gnome-vfs-slave.c: Remove gratiutous gnome-libs dependency. 2000-08-09 Ali Abdin * libgnomevfs/gnome-vfs-modules-shared.c, * libgnomevfs/gnome-vfs-mime-magic.c: Remove gratiutous gnome-libs dependency. 2000-08-09 Pavel Cisler * modules/file-method.c: (append_trash_path), (find_trash_in_one_hierarchy_level), (find_trash_in_hierarchy), (try_creating_trash_in), (find_trash_directory), (do_find_directory): Fix a ton of bugs in the new find directory calls. * test/Makefile.am: * test/test-find-directory.c: Mini test tool for the gnome_vfs_find_directory call. 2000-08-09 Pavel Cisler * libgnomevfs/gnome-vfs-cancellable-ops.c: (gnome_vfs_find_directory_cancellable): * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-find-directory.c: (gnome_vfs_find_directory): * libgnomevfs/gnome-vfs-find-directory.h: * libgnomevfs/gnome-vfs-private-types.h: * modules/efs-method.c: (do_find_directory): * modules/extfs-method.c: (do_find_directory): * modules/translate-method.c: (tr_do_find_directory): Add a find_if_needed parameter to find_directory calls. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_list_deep_free): * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Add a new utility call, moving it from gnome-vfs-xfer.c so I can share it with others. * modules/file-method.c: (GET_PATH_MAX), (get_path_from_uri), (get_base_from_uri), (append_to_path), (append_trash_path), (find_trash_in_one_hierarchy_level), (find_trash_in_hierarchy), (match_trash_item_by_device_id), (try_creating_trash_in), (find_trash_directory), (do_find_directory), (do_set_file_info): Work in progress on finding/creating Trash on non-home volumes. Tue Aug 08 23:18:49 2000 George Lebl * libgnomevfs/Makefile.am, libgnomevfs/gnome-vfs-application-registry.[ch]: A new application registry. The parsing is based upon mime-info. The interface completely hides any structures and is based entierly on querying string keys. Handles user settings as a delta against the system settings. Also adds mime_types list support to the registry instead of this being read from the keys file. * libgnomevfs/gnome-vfs-mime-handlers.[ch] (gnome_vfs_mime_get_default_application) (gnome_vfs_mime_get_short_list_applications) (gnome_vfs_mime_get_all_applications) (gnome_vfs_mime_extend_all_applications) (gnome_vfs_mime_remove_from_all_applications) (gnome_vfs_mime_application_new_from_id) (application_known_to_be_nonexistent): Use the application registry API internally. Remove the gnome_vfs_mime_define_application call as it doesn't make any sesnse any more and is replaced by an application registry call. The all_applications calls now use the registry api for all their work. * libgnomevfs/gnome-vfs-mime-info.c (load_mime_type_info_from): Fix a bug where comments would only be ignored on the first line which would add nonsense mime types if comments were elsewhere in the file. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c (add_new_application) test/test-mime-handlers-set.c (main): Use the application registry for adding new applications * data/mime/Makefile.am, data/mime/gnome-vfs.keys, data/mime/gnome-vfs.applications, data/mime/application-registry-hack.keys: Remove the registry hack stuff, remove all_applications stuff from gnome-vfs.keys and add the applications from the registry hack to gnome-vfs.applications including the mime types they read. 2000-08-08 Maciej Stachowiak * mime-type-capplet/nautilus-mime-type-capplet.c: Move include of sys/types.h above include of regex.h to fix building on FreeBSD. Fix from Bill Huey . 2000-08-08 Maciej Stachowiak * acconfig.h: * configure.in: * modules/bzip2-method.c (bzip2_method_handle_init_for_decompress), (bzip2_method_handle_init_for_compress), (flush_write), (do_read), (do_write): Handle both bzip2 1.0, which adds BZ2_ to the front of all function names, and the older version. Problem reported by Bill Huey . 2000-08-08 Maciej Stachowiak * libgnomevfs/gnome-vfs-parse-ls.c (gnome_vfs_parse_ls_lga): Avoid a warning and potential bug on systems (such as FreeBSD) where the st_nlink field of struct stat is unsigned. Problem reported by Bill Huey . 2000-08-08 Robin * Slomkowski * mime-type-capplet/Makefile.am: added nautilus-mime-type-icon-entry.h as it was forgotten 2000-08-09 Ian McKellar * modules/http-method.c: (make_propfind_request): Fixed another WebDAV directory listing bug. If the current URI contained escaped characters (%20 for example) it would not be culled. Now it is. 2000-08-09 Ian McKellar * modules/http-method.c: (process_propfind_response): Fixed a bug where the current directory could show up in WebDAV directory listings. 2000-08-08 John Sullivan * data/mime/gnome-vfs.keys: Added description for application/x-java-byte-code; changed "search results virtual directory" to "search results". 2000-08-07 Maciej Stachowiak * data/mime/gnome-vfs.keys: * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_file_mime_type): * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type): * modules/extfs-method.c: (do_get_file_info): * modules/ftp-method.c: (do_get_file_info): * modules/gconf-method.c: (set_mime_type_dir): * modules/http-method.c: (process_propfind_propstat): Renamedirectory mime types: x-special/directory => x-directory/normal x-special/webdav-directory => x-directory/webdav x-special/virtual-directory => x-directory/search 2000-08-07 Maciej Stachowiak * CVSVERSION: New file, used to detect whether we are configuring a cvs version or a release tarball. * configure.in: Default -Werror to off when configuring a release tarball, and to on when configuring a cvs version. 2000-08-07 Maciej Stachowiak * test/test-escape.c (main): Fix to match new escaping logic for paths. 2000-08-07 Darin Adler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_has_parent): Fixed so it matches the _get_parent function by just calling _get_parent. It would be hard to get the corresponding result otherwise. Someone performance-obsessed could move the common code out into a separate function if they like. * test/test-uri.c: (test_uri_has_parent), (main): Added a test of gnome_vfs_uri_has_parent to this tool. * modules/http-method.c: (make_propfind_request): Changed a g_warning to a g_message. Maybe yakk will change it back or something, but it happens too often to be a drop-into- the-debugger warning. 2000-08-07 Rebecca Schulman * libgnomevfs/gnome-vfs-result.c: * libgnomevfs/gnome-vfs-types.h: added a new error code GNOME_VFS_ERROR_SERVICE_NOT_AVAILABLE 2000-08-07 Maciej Stachowiak * libgnomevfs/gnome-vfs-utils.c: Do not escape `?', `&', or `=' in paths, to avoid messing up http queries. 2000-08-08 Ian McKellar * modules/http-method.c: (process_propfind_propstat), (process_propfind_response): Fixed a memory leak in WebDAV PROPFIND response parsing. Sun Aug 06 15:10:01 2000 George Lebl * libgnomevfs/gnome-vfs-mime-info.c (load_mime_type_info_from) (load_mime_list_info_from) (gnome_vfs_mime_init): Be more correct in function prototypes (gnome_vfs_mime_init): gnome_i18n_get_language_list returns a "constant" list. So make a copy before inverting it. * bzip2-method.c, gzip-method.c: #include to make it compile on alpha 2000-08-07 Ian McKellar * modules/http-method.c: (process_propfind_propstat), (do_get_file_info): Fixed a bug that affected Xythos interoperability. 2000-08-06 Ian McKellar * modules/ftp-method.c: (do_get_file_info): Changed the do_get_file_info behaviour to be more portable. I believe this resolves bug #1981. 2000-08-05 Michael K. Fleming * libgnomevfs/gnome-vfs-uri.c: (split_toplevel_uri), (split_toplevel_uri_old), (uri_strspn_to), (split_toplevel_uri): * test/test-uri.c: (test_uri_part), (test_uri_host_port), (main): Re-implemented split_toplevel_uri to fix some parsing bugs in the old one. (Most signficantly, 'http://localhost:80' would be parsed as hostname 'localhost:80' rather than hostname 'localhost' port '80') ****Note that the new code is necessarally not bug-for-bug compatible with the original implementation, and therefore may expose bugs in existing applications!**** Added new test cases for URI parsing. The old split_toplevel_uri code is ifdef'd out. If you disable NO_MKF_DEBUG, you can get warnings when a differences between the old version and the new version is encountered. Of course, the code in this block should be removed before the next release. 2000-08-04 John Sullivan * data/mime/gnome-vfs-mime-magic: changed text/rtf to application/rtf to match both the .keys file and reality. * data/mime/gnome-vfs.keys: added description for audio/x-riff. 2000-08-04 Robey Pointer * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string_internal), (gnome_vfs_escape_path_string), (gnome_vfs_escape_host_and_path_string): * libgnomevfs/gnome-vfs-utils.h: Add an _escape_host_and_path_string() call to cope intelligently with uri's that have a host:port section before the path. 2000-08-05 Ian McKellar * modules/http-method.c: (process_propfind_response), (do_open_directory), (do_get_file_info): Make open_directory and do_get_file_info try http://foo/bar/ if http://foo/bar fails with a file not found error. See: http://bugzilla.eazel.com/show_bug.cgi?id=1904 2000-08-04 Darin Adler * libgnomevfs/gnome-vfs-mime.c: (add_to_key): Added a workaround for a bug in Solaris regcomp. 2000-08-03 Seth Nickell * libgnomevfs/gnome-vfs-xfer.c: (count_items_and_size), (link_items), (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal): A rewrite of the code that CVS (or me?) lost for some strange bizarre reason... Adds symbolic link abilities to gnome-vfs-xfer. 2000-08-03 Ramiro Estrugo * data/mime/gnome-vfs.keys: Add the mozilal component as a content handler for x-special/webdav-directory. Also move the gtkhtml web browser up in the food chain. 2000-08-03 John Sullivan * data/mime/gnome-vfs.keys: Added a couple of description-less types that people had run into (image/x-xfig and application/x-compress). Also removed one of the two different descriptions for image/x-xpixmap. Also alphabetized the entries again -- someone changed some MIME type names without re-alphabetizing. 2000-08-03 Mathieu Lacage * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init): remove FIXMEs for bug 796. * libgnomevfs/gnome-vfs-mime.c: (mime_init): idem. 2000-08-02 Pavel Cisler Seth forgot to check in changes Nautilus relies on and unfortunately they are nowhere to be found on his machine. This change will make Nautilus build again. Seth needs to check in his missing changes to make symlink creation work properly. * libgnomevfs/gnome-vfs-types.h: 2000-08-02 Gene Z. Ragan Fixed bug 1837, The icon in the action list item should represent the item in the list. * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_mime_list): Load icon and display based on action. 2000-08-02 Darin Adler * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type): Removed some old FIXMEs that were left after the bug was fixed. 2000-08-02 Gene Z. Ragan Fixed bug 1836, Description list item icon wrong. * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_mime_list), (gdk_font_get_bold), Set up proper and scaled description column icon. (capplet_gdk_pixbuf_scale_to_fit): New function that scales an gdk-pixbuf to the requested width and height. Copied from libnautilus. 2000-08-01 Darin Adler * data/mime/gnome-vfs.keys: Added description for "x-special/virtual-directory", which will probably be renamed soon. 2000-08-01 Ian McKellar * AUTHORS: Updated ftp method info. * modules/http-method.c: (process_propfind_response), (make_propfind_request), (do_read_directory): Fixed the PROPFIND response parsing to handle Xythos servers better. 2000-07-30 ERDI Gergo * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c (name_from_oaf_server_info): changed oaf_server_info_attr_lookup calls to oaf_server_info_prop_lookup 2000-07-28 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (pixmap_file), (gtk_widget_make_bold), (gtk_widget_set_font), (gtk_style_set_font), (gdk_font_get_bold): New function to set the font of a widget to bold. These were borrowed from libnautilus-extensions. 2000-07-28 Gene Z. Ragan * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: Added magic and mime type for GMC links. application/x-gmc-link 2000-07-27 Seth Nickell * libgnomevfs/gnome-vfs-file-info.h: Added SYMLINK macros. * libgnomevfs/gnome-vfs-types.h: Added GNOME_VFS_FILE_FLAGS_SYMLINK * modules/file-method.c: (get_stat_info): Changed code around to properly stat and lstat, and use flags. * test/gnome-file-selection/gnome-file-selection.c: (populate_callback): * test/test-async-directory.c: (print_list): * test/test-directory-visit.c: (directory_visit_callback): * test/test-directory.c: (print_list): Changed to use flags properly. 2000-07-26 Gene Z. Ragan * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: Added mime magic and mime type key for application/x-nautilus-link 2000-07-25 Mike Fleming * modules/translate-method.c: (tr_exec_open_child), (tr_exec_pass_uri), (tr_exec_do_retain), (tr_handle_exec), (tr_exec_init), (tr_exec_cleanup), (tr_args_parse), (vfs_module_init), (vfs_module_shutdown): Added -retain option to translate's -exec mode Fixed method-table initialization problem 2000-07-25 Dan Winship * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_action_without_fallback): New function to get the default action for a MIME type without falling back to its supertype if there is nothing available for the full type. 2000-07-25 Darin Adler * modules/pipe-method.c: (mime_from_uri): Handle the case where the URI is NULL (can happen with some bad URIs that can't be unescaped). 2000-07-25 John Sullivan Made async set_file_info pass back newly-retrieved file info, since setting some info changes other info (e.g., setting owner can change permissions). * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_set_file_info): New options parameter to use when getting file info, changed callback type. * libgnomevfs-pthread/gnome-vfs-job.h: Add get_file_info options field to request struct, and file_info & get_file_info_result fields to notify struct. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_set_file_info): Fetch file_info after setting. (dispatch_set_file_info_callback): Pass to caller newly-fetched file_info, or NULL if it couldn't be read. * libgnomevfs/gnome-vfs-async-ops.h: Change signature of gnome_vfs_async_set_file_info to take options for get_file and to use a GnomeVFSAsyncSetFileInfoCallback * libgnomevfs/gnome-vfs-backend.c: (report_failure_set_file_info_callback), (report_failure_set_file_info): New functions that handle the new intricacies of set_file_info failures. (gnome_vfs_async_set_file_info): Updated for parameter changes. * libgnomevfs/gnome-vfs-types.h: Changed GnomeVFSAsyncCloseCallback to just a #define; added new GnomeVFSAsyncSetFileInfoCallback 2000-07-25 Pavel Cisler * modules/file-method.c: (do_find_directory), (do_check_same_fs): Use lstat instead of stat to correctly treat symbolic links. 2000-07-24 Fatih Demir * mime-type-capplet/nautilus-mime-type.desktop: Added the Turkish desktop entries. 2000-07-21 Mathieu Lacage Closes bug 1120, 1118, 1176 from buzilla.eazel.com source incompatible change. Removes metadata support. Basically, it changes the signature of all the functions which had metadata support and removes one parameter. To take this change into account, you basically need to remove one NULL parameter from the calls which have changed. * idl/gnome-vfs-slave.idl: * idl/gnome-vfs-types.idl: * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_get_file_info), (corba_gnome_vfs_async_load_directory), (corba_gnome_vfs_async_load_directory_uri): * libgnomevfs-corba/gnome-vfs-slave-notify.c: (impl_Notify_load_directory), (impl_Notify_get_file_info): * libgnomevfs-corba/gnome-vfs-slave.c: (allocate_info_list), (copy_file_info), (load_directory_not_sorted), (load_directory_sorted), (impl_Request_get_file_info), (impl_Request_load_directory): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri): * libgnomevfs-pthread/gnome-vfs-job.c: (execute_load_directory_not_sorted), (execute_load_directory_sorted), (execute_get_file_info), (execute_load_directory): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_get_file_info), (gnome_vfs_async_load_directory_uri), (gnome_vfs_async_load_directory): * libgnomevfs/gnome-vfs-cancellable-ops.c: (gnome_vfs_get_file_info_uri_cancellable), (gnome_vfs_get_file_info_from_handle_cancellable): * libgnomevfs/gnome-vfs-cancellable-ops.h: * libgnomevfs/gnome-vfs-directory-list.c: (gnome_vfs_directory_list_load), (gnome_vfs_directory_list_load_from_uri): * libgnomevfs/gnome-vfs-directory-list.h: * libgnomevfs/gnome-vfs-directory.c: (gnome_vfs_directory_handle_new), (gnome_vfs_directory_handle_destroy), (open_from_uri), (open), (gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri), (directory_visit_internal), (gnome_vfs_directory_visit_uri), (gnome_vfs_directory_visit), (gnome_vfs_directory_visit_files_at_uri), (gnome_vfs_directory_visit_files): * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_clear), (gnome_vfs_file_info_copy): * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_do_get_file_info): * libgnomevfs/gnome-vfs-handle.h: * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_get_special_mime_type): * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_get_file_info), (gnome_vfs_get_file_info_uri), (gnome_vfs_get_file_info_from_handle): * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (empty_directory), (gnome_vfs_visit_list), (directory_add_items_and_size), (handle_name_conflicts), (create_directory), (copy_directory), (copy_items), (gnome_vfs_xfer_delete_items_common): * modules/bzip2-method.c: (do_get_file_info): * modules/efs-method.c: (do_open_directory), (do_get_file_info): * modules/extfs-method.c: (do_open_directory), (do_get_file_info), (do_get_file_info_from_handle): * modules/file-method.c: (directory_handle_new), (do_open_directory), (read_directory), (do_get_file_info), (do_get_file_info_from_handle): * modules/ftp-method.c: (internal_get_file_info), (do_get_file_info), (do_open_directory): * modules/gconf-method.c: (directory_handle_new), (set_stat_info_value), (set_stat_info_dir), (do_open_directory), (read_directory), (do_get_file_info), (do_get_file_info_from_handle): * modules/gzip-method.c: (do_get_file_info): * modules/http-method.c: (do_open_directory), (get_file_info_from_http_handle), (do_get_file_info), (do_get_file_info_from_handle): * modules/pipe-method.c: (do_get_file_info), (do_get_file_info_from_handle): * modules/translate-method.c: (tr_do_open_directory), (tr_do_get_file_info), (tr_do_get_file_info_from_handle): * test/gnome-file-selection/gnome-file-selection.c: (start_populating): * test/test-async-cancel.c: (wait_until_vfs_threads_gone), (first_get_file_info), (test_get_file_info), (test_load_directory_cancel): * test/test-async-directory.c: (main): * test/test-directory-visit.c: (main): * test/test-directory.c: (main): * test/test-info.c: (print_file_info), (main): * test/test-shell.c: (do_ls), (validate_path), (get_regexp_name), (do_info): * test/test-symlinks.c: (deal_with_result): 2000-07-19 Ali Abdin * modules/translate-method.c: (tr_apply_default_mime_type): Modified to also apply default mime-type if the mime-type is application/octet-stream 2000-07-19 Darin Adler * libgnomevfs/gnome-vfs-uri.c: (get_method_string): Schemes are not case-sensitive according to the RFC, so make them all lower-case with g_strdown when we parse. (gnome_vfs_uri_get_parent): Change logic so that URIs with no "/" have no parent. * test/test-uri.c: (test_uri_parent): Added a function for testing gnome_vfs_uri_get_parent. (main): Moved "FILE:" test out of the FIXME section since it's fixed. Added lots of parent tests. Corrected the "add // incorrectly" test to match the new version of gnome_vfs_uri_new. * modules/pipe-method.c: Removed some bad casts of function pointers to (gpointer) that were also completely unnecessary. * libgnomevfs/Makefile.am (INCLUDES): Ettore meant "-I$(top_builddir)", since it's a generated file. * test/auto-test: Pass "-a" option to diff so it treats the files as text files. * test/test.output: Updated to match what the program currently writes out. Someone needs to look it over and see if it's correct or if it reflects bugs. 2000-07-19 Ettore Perazzoli * libgnomevfs/Makefile.am (INCLUDES): Add `-I$(top_srcdir)'. Otherwise `#include ' doesn't work. 2000-07-19 Kjartan Maraas * configure.in: Added nl to ALL_LINGUAS. 2000-07-18 Mike Fleming * modules/translate-method.c: (tr_forkexec_cb), (tr_getline), (tr_handle_exec), (tr_uri_translate), (tr_do_open), (tr_do_create), (tr_do_open_directory), (tr_do_get_file_info), (tr_do_truncate), (tr_do_is_local), (tr_do_make_directory), (tr_do_find_directory), (tr_do_remove_directory), (tr_do_move), (tr_do_unlink), (tr_do_check_same_fs), (tr_do_set_file_info), (my_poptParseArgvString), (tr_args_parse), (tr_args_free): Added a -exec option to vfs-translate, which allows a child process to filter URI's. 2000-07-18 Maciej Stachowiak * libgnomevfs/gnome-vfs-private-utils.c (gnome_vfs_string_list_from_string_array): Handle a zero-length non-NULL array properly by turning a gratuitous do ... while loop into a while loop. 2000-07-17 Maciej Stachowiak * modules/search-method.c, modules/search-method.h: Removed (moved to medusa). * libgnomevfs/gnome-vfs-private-ops.c, libgnomevfs/gnome-vfs-private-ops.h: Renamed to gnome-vfs-cancellable-ops.[ch] * libgnomevfs/Makefile.am, libgnomevfs/gnome-vfs-private.h: Deal with the renaming. 2000-07-17 Mathieu Lacage This should fix bug 796. * libgnomevfs/Makefile.am: add -DGNOME_VFS_DATADIR and -DGNOME_VFS_CONFDIR. * libgnomevfs/gnome-vfs-mime.c:(mime_init) look into gnome_vfs prefix instead of gnome-libs one. * libgnomevfs/gnome-vfs-mime-magic.c:(gnome_vfs_mime_get_magic_table) idem. * libgnomevfs/gnome-vfs-gen-mimedb.c:(main) idem. * libgnomevfs/gnome-vfs-mime-info.c:(gnome_vfs_mime_init) idem. 2000-07-17 Seth Nickell * modules/search-method.c: (search_directory_handle_new), (search_directory_handle_destroy), (parse_search_uri), (do_open), (do_create), (do_close), (do_read), (do_write), (do_write), (do_seek), (do_tell), (do_truncate_handle), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_is_local), (do_make_directory), (do_remove_directory), (do_move), (do_unlink), (do_check_same_fs), (do_set_file_info), (do_truncate), (do_find_directory), (do_create_symbolic_link): * modules/search-method.h: Create module for interfacing Gnome-VFS and the medusa search service. Write skeletons, draft basic functionality. 2000-07-17 Jonathan Blandford * modules/bzip2-method.c: #include * libgnomevfs/gnome-vfs-private-ops.c: #include * libgnomevfs/gnome-vfs-xfer.c: #include * libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: Add newline to the end of the file. * libgnomevfs/gnome-vfs-find-directory.h: Add newline to the end of the file. 2000-07-17 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_delete_items): Added a missing READYTOGO progress that caused asserts to get fired during a delete operation. 2000-07-15 Ali Abdin * modules/pipe-methpd.c: (mime_from_uri), (str_without_suffix), (do_get_file_info), (do_get_file_info_from_handle), (do_open): We are now allowed to specify mime-type over the URI using the pipe method (as in pipe:command;mime-type=text/html) Also - you can now escape strings passed to the pipe method (before they had to be unescaped) This closes bug #1322. (We still need a test-suite for this though). Also - expect a commit for a 'fix' to libvfs-translate.so 2000-07-14 Gene Z. Ragan * libgnomevfs/gnome-vfs-mime-handlers.c: * libgnomevfs/gnome-vfs-mime-handlers.h: (gnome_vfs_mime_get_icon), (gnome_vfs_mime_set_icon): New API to get and set icon data. * mime-type-capplet/Makefile.am: Added new file mime-type-capplet/nautilus-mime-type-icon-entry.c * mime-type-capplet/nautilus-mime-type-icon-entry.c: * mime-type-capplet/nautilus-mime-type-icon-entry.h: (nautilus_mime_type_icon_entry_get_type), (nautilus_mime_type_icon_entry_class_init), (entry_changed), (entry_activated), (setup_preview), (ientry_destroy), (browse_clicked), (icon_selected_cb), (cancel_pressed), (gil_icon_selected_cb), (nautilus_mime_type_show_icon_selection), (drag_data_received), (drag_data_get), (nautilus_mime_type_icon_entry_init), (nautilus_mime_type_icon_entry_new), (nautilus_mime_type_icon_entry_gnome_file_entry), (nautilus_mime_type_icon_entry_gnome_entry), (nautilus_mime_type_icon_entry_gtk_entry), (nautilus_mime_type_icon_entry_set_pixmap_subdir), (nautilus_mime_type_icon_entry_set_icon), (nautilus_mime_type_icon_entry_get_filename): New file. This is a new verison of GnomeIconEntry. I am customizing it to look and bahve in a way that is compatible with Arlo's UI reccomendations. * mime-type-capplet/nautilus-mime-type-capplet.c: (mime_list_selected_row_callback), (icon_changed), (change_icon_clicked), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_mime_list): More UI cleanups. Removed GnomeIconEntry and replaced with new NautilusMimeTypeIconEntry. 2000-07-14 Mathieu Lacage * mime-type-capplet/Makefile.am: add OAF_CFLAGS and OAF_LIBS where it is needed to make it compile with strange prefixes. 2000-07-13 Gene Z. Ragan Fixed bug 1158, GnomeVFSMimeHandlers code needs error handling * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension): These functions now return a valid GNomeVFSResult. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: (gnome_vfs_mime_commit_registered_types), (write_registered_mime_data): These functions now return a valid GNomeVFSResult. 2000-07-13 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs/gnome-vfs-xfer.c: (remove_file), (remove_directory), (count_each_file_size_one), (gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_delete_items): First part of fix for Bugzilla bug 1549 - Empty Trash progress dialog doesn't work. Made it so that both preflight calculation and the erase loop both weight each erased file/directory as if it were a file copy of a file 1024 bytes large. 2000-07-13 Ian McKellar * libgnomevfs/gnome-vfs-seekable.c: (read_file), (init_seek), (gnome_vfs_seek_emulate), (do_seek): Various fixes related to tmpfile changes and also random bug fixes to make seekable emulation actually work. * modules/http-method.c: (do_open): Fix to http-method so it works with the gnome-vfs-seekable code. 2000-07-12 Ian McKellar * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string): Fixed a bug that added an extra '/'. 2000-07-12 Robin * Slomkowski * gnome-vfs.spec.in: changed *.so.* to *.so* 2000-07-12 Ramiro Estrugo * modules/gconf-method.c: (vfs_module_init): Update for GConf api changes. 2000-07-11 Robin Slomkowski * gnome-vfs.spec.in: removed a '.' 2000-07-11 Darin Adler * test/.cvsignore: * test/test-uri.c: (test_uri_to_string), (main): Added some more tests that demonstrate some more problems with the GnomeVFSURI functions. A lot of FIXMEs in here now about the problems. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string): Added a check for uri->text of NULL so that URIs like "http:" would not cause a core dump. But perhaps they should return NULL instead of creating a legal URI? Also fixed a little of the formatting to fit the gnome-vfs standard. 2000-07-12 Ian McKellar * data/mime/gnome-vfs.keys: Added `vfs-method' keys to a few mime types. This key indicates the name of a GNOME VFS method that can be used to decode a file of this type. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string): Essentially rewrote gnome_vfs_uri_to_string. It was very broken (especially for chained URIs). * modules/bzip2-method.c: (do_open), (do_get_file_info): * modules/gzip-method.c: (do_open), (do_get_file_info): Fiddled with invalid URI detection. * modules/extfs-method.c: (strip_separators), (get_basename), (get_dirname), (do_open), (read_directory_list), (do_open_directory), (do_close_directory), (do_read_directory), (do_get_file_info): Made it work - basically changed the way a bunch of the functions do their stuff. * modules/extfs/Makefile.am: * modules/extfs/tar: Added a `tar' extfs module - it isn't a good long-term solution for tar file access, but it works for now. * test/Makefile.am: * test/test-uri.c: (stop_after_log), (make_asserts_break), (test_failed), (test_uri_to_string), (main): Added a test-uri program. 2000-07-07 Michael Meeks * modules/efs-method.c (do_create): remove serious locking bug. 2000-07-10 Darin Adler Added async. set_file_info. Sadly, I didn't yet write a test for it and I haven't yet added it to the CORBA back end. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_set_file_info): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_set_file_info_callback), (dispatch_job_callback), (execute_get_file_info), (execute_set_file_info), (gnome_vfs_job_execute): Added set_file_info to the thread back end. * libgnomevfs/gnome-vfs-types.h: Made the standard callback that just returns a result code have the name GnomeVFSAsyncCallback since it can be used for any number of simple calls. * libgnomevfs/gnome-vfs-async-ops.h: Added async. set_file_info to the async. ops list. * libgnomevfs/gnome-vfs-backend.c: (report_failure_simple_callback), (report_failure_simple): Make the open-specific callback helper into something that can be shared by multiple calls. (gnome_vfs_async_open), (gnome_vfs_async_open_uri), (gnome_vfs_async_create), (gnome_vfs_async_create_uri), (gnome_vfs_async_create_symbolic_link): Use the callback helper by its new name. (gnome_vfs_async_set_file_info): Add async. set_file_info. * modules/newftp-method.c: [removed] * modules/newftp-method.h: [removed] 2000-07-09 Ian McKellar * libgnomevfs/gnome-vfs-private-types.h: Renamed GnomeVFSMethodCreateSymbolicLink to GnomeVFSMethodCreateSymbolicLinkFunc to match * modules/bzip2-method.c: (do_open), (do_read): Bugfixes. (do_get_file_info): Implemented do_get_file_info - needed by Nautilus * modules/gzip-method.c: (do_open), (do_read): Bugfixes. (do_get_file_info): Implemented do_get_file_info - needed by Nautilus * modules/http-method.c: (base64), (make_request): Implement minimal basic authorization support. (do_get_file_info), (do_close), (do_move): Bugfixes. 2000-07-07 Gene Z. Ragan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension): Changed code to used renamed gnome_vfs_mime_extensions_list_free * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: (gnome_vfs_mime_get_extensions_pretty_string): Return a list with period prepended, comma seperated items. (gnome_vfs_mime_extensions_list_free): Changed name form gnome_vfs_mime_extension_list_free * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_extension_list), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_mime_list), (create_mime_list_and_scroller): More exciting UI layout work and feature completion. 2000-07-07 Seth Nickell * libgnomevfs/gnome-vfs-xfer.c: (copy_directory), (copy_items): Add proper copy support for symlinks. * modules/file-method.c: (get_stat_info): Fix get_stat_info to return symbolic type correctly. * test/test-symlinks.c: (deal_with_result): Add more tests. 2000-07-07 Robin * Slomkowski * gnome-vfs.spec.in: moved *.so* out of devel section 2000-07-06 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet.c: (column_clicked), (create_mime_list_and_scroller): Added sorting functionality to the column buttons. Enabled columns to respond to a click. Clicking a column header toggles between ascending and descending sort for that column. 2000-07-06 Dan Winship * libgnomevfs/gnome-vfs-mime-sniff-buffer.c (gnome_vfs_mime_sniff_buffer_get): don't try to seek if the sniff buffer has no seek function (eg, because it's memory based). 2000-07-05 Robin * Slomkowski * mime-type-capplet/Makefile.am: fixed libgdk_pixbuf dependency. 2000-07-05 Dan Winship * modules/gconf-method.c: add #ifdef HAVE_ALLOCA_H 2000-07-05 Jeffrey Stedfast * libgnomevfs/gnome-vfs-types.h: Changed '#include ' to '#include ' * libgnomevfs/Makefile.am: Added gnome-vfs-file-size.h to libgnomevfsinclude_HEADERS 2000-07-06 Ian McKellar * libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_create_temp): * libgnomevfs/gnome-vfs-seekable.c: (init_seek): Changed to use safe temp file functions. (bugzilla.eazel.com: 1001) * modules/http-method.c: (http_status_to_vfs_result): Updated HTTP result -> GnomeVFSResult mapping. * (do_create): Fixed create method a bit. 2000-07-05 Ian McKellar * modules/extfs-method.c: (get_dirname), (do_open_directory), (match), (find_next): SEGV fixes. (do_get_file_info): Implement a useful get_file_info (based off the existing (open|read|close)_directory code. * modules/http-method.c: (my_strcmp), (do_move): Implement MOVE (using the HTTP/DAV MOVE method) * test/test-info.c: (print_file_info): Only print valid info fields. 2000-07-04 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_directory_with_unique_name): Make it possible for the unique name handling callback to detect a file system that supports only short names and supply an 8.3 name. 2000-07-04 Pavel Cisler * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-xfer.c: (copy_file_data), (copy_file), (gnome_vfs_xfer_delete_items_common), (gnome_vfs_xfer_delete_items), (gnome_vfs_xfer_uri_internal): Add support for removing source files during an inter-volume move. Split up deletion code into a common routine for reuse. Introduce a new progress phase to allow us to reset the progress state when done copying and when starting remove source files. Fixed bug 1215. 2000-07-04 Gene Z. Ragan More capplet work in progress. Modifying applet and code to support UI work done by Arlo. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension): API changes to support new layout. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: (gnome_vfs_mime_get_extensions_list), (gnome_vfs_mime_get_extensions_string): API changes to support new layout. * mime-type-capplet/Makefile.am: Added dependency to GdkPixbuf. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (show_edit_components_dialog), (add_new_application), (show_new_application_window), (show_edit_application_window): API changes to support new layout. * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet.h: (populate_extension_list), (extension_list_deselected), (application_button_toggled), (viewer_button_toggled), (icon_changed), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_application_menu), (populate_viewer_menu), (edit_default_clicked), (nautilus_mime_type_capplet_update_application_info), (nautilus_mime_type_capplet_update_viewer_info), (insert_mime_vals_into_clist), (create_mime_list_and_scroller), (nautilus_mime_type_capplet_get_selected_item_mime_type), (make_path), (pixmap_file): API changes to support new layout. 2000-07-03 Ettore Perazzoli * libgnomevfs-pthread/Makefile.am (INCLUDES): Add `-I$(top_builddir)/libgnomevfs' so that it works with builddir != srcdir. * libgnomevfs-corba/Makefile.am (INCLUDES): Likewise. * libgnomevfs/Makefile.am (INCLUDES): Likewise. * modules/Makefile.am (INCLUDES): Likewise. 2000-07-03 Pavel Cisler * HACKING: * NEWS: * TODO: More tweaks for the release. 2000-07-03 Eskil Heyn Olsen * libgnomevfs/Makefile.am: * mime-type-capplet/Makefile.am: Making gnome-vfs rpm'able 2000-07-03 Pavel Cisler * AUTHORS: * HACKING: * README: * TODO: Update these for an upcomming release. * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_find_directory_cancellable): Fix a leak. 2000-07-03 Seth Nickell * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_create_uri), (pthread_gnome_vfs_async_create_symbolic_link): * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_job_callback), (execute_create), (execute_create_symbolic_link), (gnome_vfs_job_execute): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_create_symbolic_link): * libgnomevfs/gnome-vfs-file-info.h: Added asynchronous calls for the creation of symbolic links. * libgnomevfs/gnome-vfs-types.h: Rename GNOME_VFS_FILE_TYPE_BROKEN_SYMLINK to GNOME_VFS_FILE_TYPE_SYMBOLIC_LINK, remove GNOME_VFS_FILE_FLAGS_SYMLINK. * test/gnome-file-selection/gnome-file-selection.c: (populate_callback): * test/test-async-directory.c: (type_to_string), (print_list): * test/test-directory-visit.c: (type_to_string), (directory_visit_callback): * test/test-directory.c: (type_to_string), (print_list): * test/test-info.c: (type_to_string): * test/test-shell.c: (do_ls), (do_info): Update pieces of GnomeVFS to reflect the aforementioned change, and check behaviors to reduce breakage regarding the change from a symbolic link as a flag to a type. * modules/file-method.c: (get_mime_type), (get_stat_info): Add handling for GNOME_VFS_INFO_FOLLOW_LINKS. * test/test-symlinks.c: (deal_with_result), (create_link_callback), (make_link), (make_link_async), (check_broken_links), (main): Add tests for link following, broken symbolic link checking, and async. link creation checking to the symbolic link checking program. 2000-06-27 Michael Meeks * modules/efs-method.c (gnome_vfs_file_system_*): Create in-file file system code. Totaly re-write internals to use the new in-file filing system code. * test/test.cmds: Expand regression tests to do new things. 2000-07-03 Ian McKellar * libgnomevfs/gnome-vfs-xfer.c: (call_progress_often), (copy_file_data), (copy_file): Fixes to supply a default IO block size of 4096 for xfers when none is supplied by the module. * modules/extfs-method.c: Segfault fix. * modules/ftp-method.c: (ls_to_file_info), (internal_get_file_info): Fix get_file_info response to not contain a default IO block size. * test/test-xfer.c: (xfer_progress_callback): Update test-xfer to understand a couple more xfer phases. 2000-07-02 Ian McKellar * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_path): Added gnome_vfs_uri_get_path function. (gnome_vfs_uri_get_basename): Added FIXME bug id 1472. * modules/ftp-method.h: * modules/ftp-method.c: (FTP_DEBUG), (read_response_line), (do_path_command), (do_path_command_completely), (do_path_transfer_command), (ftp_connection_create), (ftp_connection_destroy), (my_str_hash), (my_str_equal), (ftp_connection_uri_hash), (ftp_connection_uri_equal), (ftp_connection_aquire), (ftp_connection_release), (do_open), (do_read), (do_write), (internal_get_file_info), (do_get_file_info), (do_open_directory), (do_check_same_fs), (do_make_directory), (do_remove_directory), (do_move), (do_unlink): Rewrote the FTP method to use GnomeVFSURIs internally rather than FtpUris. Also defined the semantics and memory management of URIs more clearly (closing bug 1465). Some general sanitisation. * modules/http-method.c: (set_content_type): Ignore encoding. (do_close), (do_read), (do_open_directory), (do_read_directory), (do_get_file_info), (do_make_directory), (do_remove_directory), (do_unlink): Add convenience routines to make adding methods easier. Implement mkdir, rmdir, rm (much of bugs 1480, 1485). (process_propfind_propstat), (process_propfind_response), (make_propfind_request), Fixed URI handling a bit (decode returned filenames, strip trailing '/'s, etc). 2000-06-29 Pavel Cisler Fix a bunch of leaks. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_load_directory_not_sorted): Unref allocated GnomeVFSFileInfo when read fails properly. Delete the list of file info structs when we are done with them properly. * libgnomevfs/gnome-vfs-directory-filter.c: (gnome_vfs_directory_filter_destroy): Free filter object properly. * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: (gnome_vfs_mime_sniff_buffer_new_generic): Set up buffer ownership for generic sniffers properly so the buffer gets freed when it should. 2000-06-27 Pavel Cisler * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: Fix magic rules and mime type for image/x-xpixmap 2000-06-27 Michael Meeks * modules/efs-method.c: Kill redundant fields. (directory_handle_new): kill; redundant. (do_open_directory): implement handle creation. (directory_handle_destroy): remove redundant free. (GET_PATH_MAX): remove; unneeded & ugly. remove old redundant macros. remove redundant includes. 2000-06-27 Michael Meeks * mime-type-capplet/Makefile.am (INCLUDES): add libgnomevfs 2000-06-27 Michael Meeks * vfsConf.sh.in: touch to force script re-build. * test/gnome-file-selection/Makefile.am (INCLUDES): add -I$(top_srcdir)/libgnomevfs * libgnomevfs/Makefile.am (libgnomevfsplatofrmincludedir): make path slightly less gratuitous. * libgnomevfs/gnome-vfs-types.h: rename include to gnome-vfs-file-size.h 2000-06-26 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_parse): Fix patterns with mask to apply the mask on the patterns -- this makes it allows the masked out bits to be anything. * test/test-mime.c: (main): Remove a bogus setting of the suffix_only flag. * data/mime/gnome-vfs-mime-magic: Fixed the mime type for compress files. Remove ambiguous magic rule for application/x-font-tex-tfm that was misfiring on .Xauthority files. Change photoshop rules to use the rule with a mask. * data/mime/gnome-vfs.keys: Change application/x-patch to text/x-patch Mon Jun 26 16:04:48 2000 George Lebl * configure.in: Test the sizes of int, long, and long long to figure out if we have a 64bit type. Then set up some variables and build libgnomevfs/gnome-vfs-file-size.h with this information and a bunch of defines about the types used. Also since this header will be installed into /lib/vfs/include/libgnomevfs, the VFS*_INCLUDEDIR's now add this directory * libgnomevfs/Makefile.am: install gnome-vfs-file-size.h to $(libdir)/vfs/include/libgnomevfs * gnome-vfs-constants.h: Remove the GNOME_VFS_*_FORMAT_STR macros as they are replaced by ones in gnome-vfs-file-size.h * gnome-vfs-types.h: include gnome-vfs-file-size.h and remove the GnomeVFSFileSize and GnomeVFSFileOffset typedefs * gnome-vfs-file-size.h.in: Skeleton file created by configure to typedef GnomeVFSFileSize and GnomeVFSFileOffset, GNOME_VFS_*_FORMAT_STR macros and GNOME_VFS_*_IS_ macros 2000-06-26 Michael Meeks * doc/uri.txt: update. * test/Makefile.am: Add automatic regression testing. * test/test.input: Plaintext to test vs. * test/test.output: Standard good output * test/test.cmds: test-shell commands to execute. * test/test-shell.c (close_file, kill_file_cb, register_file), (close_files): mange named file handles. (get_handle, do_create, do_open, get_int, do_read, do_close): implement. (do_seek): implement. (main): allow comments in the input stream, s/stderr/vfserr/ (main): Setup vfserr to be stdout for regression tests. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): kill redundant check on ref_count. 2000-06-26 Pavel Cisler * data/mime/gnome-vfs-mime-magic: Added a sniff rule for svg files. Got rid of questionable sgml sniff rules. 2000-06-26 Michael Meeks * modules/efs-method.c (do_make_directory): add error handling on efs close. (do_make_directory): commit. (do_close): re-write, adding commit. (do_unlink): add commit. * Makefile.am (SUBDIRS): move SUBDIRS_OAF up the build so it is made in time for the tests. * test/test-shell.c (list_commands): expand help. (syntax_error): kill. (main): update argument handling. 2000-06-26 Pavel Cisler * Makefile.am: Fix broken build - recent changes to Makefile.am put libraries in wrong order. 2000-06-25 Pavel Cisler * configure.in: Turn -Werror back on. * libgnomevfs/gnome-vfs-mime-handlers.c: (join_str_list), (bool_to_str): Fix code that breaks if USING_OAF is undefined. 2000-06-25 Morten Welinder * test/test-mime-handlers.c: conditionalise on USING_OAF and HAVE_GCONF as needed. * libgnomevfs/gnome-vfs-mime-handlers.c: conditionalise on USING_OAF and HAVE_GCONF as needed. (gnome_vfs_mime_action_free): Add a few "break;"s to this piece of untested code. * test/Makefile.am (noinst_PROGRAMS): Only make oaf-depedent tests when we have oaf. * test/gnome-file-selection/Makefile.am (noinst_PROGRAMS): Ditto. * modules/default-modules.conf (ftp): Remove Yakk's newftp hack. * acconfig.h (HAVE_GCONF): Add. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Only initialise oaf if we have it. * configure.in (set_more_warnings): Don't add -Wsign-promo and -Wno-sign-compare unless the compiler understands them. Don't add -Werror at all. * test/test-async-cancel.c (my_yield): renamed from yield to avoid name clash. * libgnomevfs/gnome-vfs-mime.c (add_to_key): Fix arguments to isspace (etc.) (mime_fill_from_file): Ditto. * libgnomevfs/gnome-vfs-mime-magic.c (read_string_val): Ditto. (read_num_val): Ditto. (eat_white_space): Ditto. (gnome_vfs_mime_magic_parse): Ditto. * modules/translate-method.c (my_poptParseArgvString): Ditto. * modules/ftp-method.c (get_response): Ditto. (do_read_directory): Ditto. * modules/http-method.c (parse_status): Ditto. (header_value_to_number): Ditto. * libgnomevfs/fnmatch.c (FOLD): Ditto. * libgnomevfs/gnome-vfs-uri.c (get_method_string): Ditto. * libgnomevfs/gnome-vfs-private-utils.c (check_end): Ditto. 2000-06-26 Ian McKellar * modules/ftp-method.c: (ftp_response_to_vfs_result), (do_control_write), (do_basic_command), (do_transfer_command), (ftp_connection_create), (ftp_connection_release), (do_open), (internal_get_file_info), (do_read_directory): Added FIXMEs to bugzilla, removed some fixed FIXMEs and fixed some of the things mentioned in some of the FIXMEs. 2000-06-24 Morten Welinder * libgnomevfs/gnome-vfs-parse-ls.c (vfs_parse_filedate): Actually get the time, don't use an undefined one. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): Avoid double free of method string. * modules/http-method.c (make_request): Feee uri_string in all cases. 2000-06-24 Michael Meeks * modules/efs-method.c (do_make_directory): create if not found. * test/test-shell.c (do_mv, do_rmdir, do_mkdir, do_rm): implement. (main): use g_get_current_dir. 2000-06-24 Michael Meeks * modules/efs-method.c (open_efs_file): split. (do_open, do_create): update. (do_unlink): implement. (do_open_directory,do_get_file_info, do_make_directory): update. Elimiate all uses of MAKE_ABSOLUTE, it leaks badly. (directory_handle_new): clean for no MAKE_ABSOLUTE. (do_open_directory): add param checks on uri. 2000-06-24 Michael Meeks * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): re-order to make (parse_uri_substring): Add parent arg, since set_uri_element will trample on memory unless uri->parent != NULL before call. update. (gnome_vfs_uri_new): update. * modules/efs-method.c (MAKE_ABSOLUTE): add catch for non-existant parents. (do_tell): implement. (do_open_directory): open only for read and use (transfer_dir_to_info): split (do_get_file_info): implement. (do_get_file_info_from_handle): remove, should be a fallback in the vfs anyway. * configure.in: enable libefs by default. * doc/uri.txt: revert a daftness. 2000-06-24 Pavel * modules/file-method.c: (file_handle_new), (do_close), (directory_handle_new), (get_mime_type), (do_get_file_info), (do_get_file_info_from_handle), (do_make_directory), (do_remove_directory), (rename_helper), (do_move), (do_unlink), (do_set_file_info): Fixed 1312 - Need to plug in sniff buffer mime magic API into methods. Fixed 1183 - Made the get_mime_type call correctly handle symlinks. Fixed 1184 - removed an extra stat call. Bunch of renamings and cleanup. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_text): Fixed a bug where only text files larger than 256 would get recognized properly. Get rid of gnome_vfs_mime_magic_matches_p. Get rid of gnome_vfs_mime_type_from_magic. * libgnomevfs/gnome-vfs-mime-magic.h: Get rid of obsolete comment. * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-mime.h: (gnome_vfs_mime_type_from_name_or_default), (gnome_vfs_mime_type_from_name), (gnome_vfs_get_mime_type_from_uri_internal), (gnome_vfs_get_mime_type), (file_seek_binder), (file_read_binder), (gnome_vfs_get_file_mime_type), (gnome_vfs_get_mime_type_from_uri), (gnome_vfs_get_mime_type_for_data): New call gnome_vfs_get_file_mime_type used to detect mime types by the file method. Renamed a number of routines. * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (count_items_and_size), * modules/extfs-method.c: (read_directory_list): (directory_add_items_and_size): * modules/file-method.c: (get_stat_info), (read_directory): * modules/gconf-method.c: (set_mime_type_value), (file_info_value), (file_info_dir): Renamed some of GnomeVFSFileInfoOptions. Added new GNOME_VFS_FILE_INFO_FORCE_SLOW_MIME_TYPE option. Renamed GNOME_VFS_XFER_FOLLOWLINKS to GNOME_VFS_XFER_FOLLOW_LINKS. * modules/ftp-method.c: (get_response), (do_transfer_command), (ls_to_file_info), (internal_get_file_info), (do_get_file_info): Fixed some leaks, got rid of checks for NULL before g_free, switched to use new gnome_vfs_mime_type_from_name_or_default, cleaned up. * modules/gconf-method.c: (set_mime_type_value): Fixed bad mime type. * test/gnome-file-selection/gicon.c: (gicon_get_icon_for_file_2): * test/gnome-file-selection/gnome-file-selection.c: (start_populating): * test/test-async-cancel.c: (test_load_directory_cancel): * test/test-async-directory.c: (main): * test/test-directory-visit.c: (main): * test/test-directory.c: (main): * test/test-info.c: (main): * test/test-mime.c: (main): Changed to match new renamings. * data/mime/gnome-vfs.keys: Added description for application/x-executable-file. 2000-06-24 Fatih Demir * mime-type-capplet: Removed this install-data-local target and made another normal rule to install the .desktop file also to the "Settings" menu-tree. [ PS: Some `install' variants don't support the -D flag, so you'd avoid whereever it's possible. ] 2000-06-23 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_edit_user_file_full): Added code to handle NULL for value and write out an empty string. The old code wrote out "(NULL)" because of the help of glibc, but then I had added checks for NULL. Now we handle it intentionally. (gnome_vfs_mime_edit_user_file_args): Got rid of check for NULL that made it illegal. Fixed a bug that would trash memory where I was doing the wrong list. (gnome_vfs_mime_edit_user_file): Make NULL legal here too. 2000-06-23 Michael Meeks * test/test-shell.c (do_info): implement. (main): hook in. 2000-06-23 Michael Meeks * test/test-shell.c (get_fname): updates. * modules/efs-method.c (do_read_directory): implement. (directory_handle_new): setup new->efs. Begin to loathe efs. * doc/uri.txt: update. * test/Makefile.am (libraries): add LIBEFS_LIBS * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): fix from Rajit, this still looks rather limited to me. * configure.in: Add efs check. * modules/default-modules.conf (efs): add. 2000-06-22 Michael Meeks * configure.in: add --enable-libefs. 2000-06-22 Gene Z. Ragan Fixed bug #581. UI for specifying whether applicaition can open multiple files at once. * libgnomevfs/gnome-vfs-mime-handlers.c: * libgnomevfs/gnome-vfs-mime-handlers.h: (gnome_vfs_mime_define_application): Added const char * argument for mime type. Removed placeholder mime type. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (populate_default_applications_list), (populate_default_components_box), (initialize_edit_applications_dialog), (add_new_application), (show_new_application_window), (show_edit_application_window): Modified edit applicaiton list dialog to use a GtkList with embedded check buttons and labels. This allows single list items to be selected so that individual items can be edited or deleted. * test/test-mime-handlers-set.c: (main): Fixed call to gnome_vfs_mime_define_application to use new argument. 2000-06-22 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_edit_user_file_full), (gnome_vfs_mime_edit_user_file_args), (gnome_vfs_mime_edit_user_file_multiple), (gnome_vfs_mime_edit_user_file), (gnome_vfs_mime_set_default_action_type), (gnome_vfs_mime_set_default_application), (gnome_vfs_mime_set_default_component), (gnome_vfs_mime_set_short_list_applications), (gnome_vfs_mime_set_short_list_components), (gnome_vfs_mime_id_in_application_list), (gnome_vfs_mime_id_in_component_list), (gnome_vfs_mime_add_application_to_short_list), (gnome_vfs_mime_remove_application_from_list), (gnome_vfs_mime_remove_application_from_short_list), (gnome_vfs_mime_add_component_to_short_list), (gnome_vfs_mime_remove_component_from_list), (gnome_vfs_mime_remove_component_from_short_list), (gnome_vfs_mime_add_extension), (gnome_vfs_mime_remove_extension), (gnome_vfs_mime_extend_all_applications), (gnome_vfs_mime_remove_from_all_applications), (gnome_vfs_mime_define_application): Added some rudimentary error handling. * test/.cvsignore: Some new files are generated but not yet ignored. 2000-06-22 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (show_new_application_window), (show_edit_application_window): Clean up work on layout of capplet dialogs. 2000-06-22 John Sullivan Moved SUID, SGID, and Sticky bits from flags field to permissions field because (1) it's conventional to treat them as permission bits, especially for display purposes, and (2) there was no way to set them before. * libgnomevfs/gnome-vfs-types.h: Added new GNOME_VFS_PERM_xxx constants for these three bits; removed old GNOME_VFS_FILE_FLAGS_xxx constants. * libgnomevfs/gnome-vfs-file-info.h: updated GNOME_VFS_FILE_INFO_xxx macros for these three bits to look in permissions field instead of flags field. * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_stat_to_file_info): Put these bits in permissions field instead of flags field when converting from stat result. Added a few more MIME type descriptions. * data/mime/gnome-vfs.keys: Added descriptions for x-special/device-char and friends. 2000-06-22 Rajit Singh * modules/efs-method.[ch]: Create. 2000-06-22 Michael Meeks * test/test-shell.c (get_fname): use regexps. (ms_ole_dump, do_dump): implement. 2000-06-22 Michael Meeks * test/Makefile.am: Add test-shell setup * test/test-shell.c: Small lightweight gnome-vfs shell for testing. 2000-06-21 Gene Z. Ragan Fixed bug #1434, Fix alignment of widgets in main capplet view. * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Replaced use of multiple pack boxes with a table. Things look much better now. 2000-06-21 Seth Nickell Added more complete symlink support to gnome-vfs. * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_create_symbolic_link): * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_create_symbolic_link_cancellable), * libgnomevfs/gnome-vfs-private-ops.h: * libgnomevfs/gnome-vfs-private-types.h: Added the generic gnome-vfs functions and declarations for gnome_vfs_create_symbolic_link and children that end up calling method specific functions. (gnome_vfs_remove_directory_from_uri_cancellable), (gnome_vfs_unlink_from_uri_cancellable), (check_same_fs_in_uri): Cleaned up formatting in some of the functions. * modules/file-method.c: (do_create_symbolic_link): Implemented symlinking for the file-method, with a place-holder for possible (eventual, post 1.0?) addition of URI links. * modules/bzip2-method.c: * modules/extfs-method.c: * modules/ftp-method.c: * modules/gzip-method.c: * modules/pipe-method.c: * modules/translate-method.c: Added NULL placeholders for other methods that do not implement create_symbolic_link. * test/Makefile.am: * test/test-symlinks.c: (make_link), (main): Wrote test code for the new gnome-vfs symlink support. Verifies by writing data to the new links and checking the target uri. * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_scheme): Fixed bug 821 by providing a method for querying a URI's scheme. (as featured in the addition of symlink support) 2000-06-21 Seth Nickell * modules/http-method.c: (http_file_handle_new), (http_file_handle_destroy), (http_handle_close), (do_close): Pavel here. Fixed a number of memory thrashers in http_handle_close. Fixed some white space. 2000-06-21 Gene Z. Ragan Final stage in renaming. * modules/ftp-method.c: * modules/ftp-method.h: Changed internal references form new-ftp-method to new-ftp-method. 2000-06-21 Gene Z. Ragan Added renamed new-ftp module files as ftp modules. * modules/ftp-method.c: (FTP_DEBUG), (ftp_response_to_vfs_result), * modules/ftp-method.h: (read_response_line), (get_response), (do_control_write), (do_basic_command), (do_transfer_command), (end_transfer), (ftp_connection_create), (ftp_connection_uri_hash), (ftp_connection_uri_equal), (ftp_connection_uri_to_string), (ftp_uri_to_string), (ftp_connection_aquire), (ftp_connection_release), (ftp_uri_create), (do_is_local), (do_open), (do_close), (do_read), (do_write), (ls_to_file_info), (internal_get_file_info), (do_get_file_info), (do_get_file_info_from_handle), (do_open_directory), (do_close_directory), (do_read_directory), (do_check_same_fs), (do_make_directory), (do_remove_directory), (do_move), (do_unlink), (vfs_module_init), (vfs_module_shutdown): 2000-06-21 Gene Z. Ragan Part of renaming and replacing of old ftp module with new ftp module. * modules/Makefile.am: * modules/ftp-method.c: * modules/ftp-method.h: Removed references to new-ftp. 2000-06-21 Rebecka Schulman * test/test-async-directory.c: (type_to_string): Fixed constant errors that were uncaught in previous name changes 2000-06-21 Darin Adler Improved the API of the utils (bug 1210). * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_format_file_size_for_display): Changed name from gnome_vfs_file_size_as_string. (gnome_vfs_escape_string_internal), (gnome_vfs_escape_string), (gnome_vfs_escape_path_string): Replaced the old parameterized escape_string function with 2 parameter-free versions for paths and for other strings respectively. (gnome_vfs_unescape_string_for_display): Added string to the name to make it more like the other names. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name), (gnome_vfs_uri_extract_short_name): * modules/http-method.c: (create_handle), (do_read): * test/test-async-cancel.c: (test_load_directory_cancel): * test/test-escape.c: (test_escape), (test_escape_path), (test_unescape_display), (main): Updated callers to use calls by their new names. 2000-06-21 Gene Z. Ragan Fixed bug #583 * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (initialize_edit_applications_dialog), (show_new_application_window), (show_edit_application_window): New dialog and items to indicate and allow user to set application behavior concerning multiple launch and URI handling. * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet): Removed old UI code and migrated to dialog. 2000-06-21 Gene Z. Ragan Follow up to bug #1162. GnomeVFSFilePermissions had some items to be renamed as well. * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_get_special_mime_type), (gnome_vfs_stat_to_file_info): * libgnomevfs/gnome-vfs-types.h: * modules/file-method.c: (set_mime_type), (get_stat_info): * modules/ftp-method.c: (_ftpfs_read_directory), (fill_file_info): * test/test-directory-visit.c: (type_to_string): * test/test-directory.c: (type_to_string): * test/test-info.c: (type_to_string): 2000-06-21 Gene Z. Ragan Fixed bug #1162. Changed naming of gnome-vfs errors to seperate words with underscore and replace abbreviations with full words. * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_open), (corba_gnome_vfs_async_open_as_channel), (corba_gnome_vfs_async_create), (corba_gnome_vfs_async_create_as_channel), (corba_gnome_vfs_async_close), (corba_gnome_vfs_async_read), (corba_gnome_vfs_async_write), (corba_gnome_vfs_async_get_file_info), (corba_gnome_vfs_async_load_directory), (corba_gnome_vfs_async_xfer), (corba_gnome_vfs_async_cancel): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel), (pthread_gnome_vfs_async_open_uri), (pthread_gnome_vfs_async_open), (pthread_gnome_vfs_async_open_uri_as_channel), (pthread_gnome_vfs_async_open_as_channel), (pthread_gnome_vfs_async_create_uri), (pthread_gnome_vfs_async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri), (pthread_gnome_vfs_async_xfer): * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_cancel): * libgnomevfs/gnome-vfs-directory.c: (open), (gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri), (directory_visit_internal), (gnome_vfs_directory_visit_uri), (gnome_vfs_directory_visit), (gnome_vfs_directory_visit_files_at_uri): * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-inet-connection.c: (gnome_vfs_inet_connection_create): * libgnomevfs/gnome-vfs-iobuf.c: (gnome_vfs_iobuf_read), (gnome_vfs_iobuf_peekc), (gnome_vfs_iobuf_write), (gnome_vfs_iobuf_flush): * libgnomevfs/gnome-vfs-method.h: * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_open), (gnome_vfs_create), (gnome_vfs_tell), (gnome_vfs_get_file_info), (gnome_vfs_truncate), (gnome_vfs_make_directory), (gnome_vfs_remove_directory), (gnome_vfs_unlink), (gnome_vfs_move), (gnome_vfs_check_same_fs), (gnome_vfs_set_file_info): * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_open_uri_cancellable), (gnome_vfs_create_uri_cancellable), (gnome_vfs_close_cancellable), (gnome_vfs_read_cancellable), (gnome_vfs_write_cancellable), (gnome_vfs_seek_cancellable), (gnome_vfs_get_file_info_uri_cancellable), (gnome_vfs_get_file_info_from_handle_cancellable), (gnome_vfs_truncate_uri_cancellable), (gnome_vfs_truncate_handle_cancellable), (gnome_vfs_make_directory_for_uri_cancellable), (gnome_vfs_find_directory_cancellable), (gnome_vfs_remove_directory_from_uri_cancellable), (gnome_vfs_unlink_from_uri_cancellable), (gnome_vfs_move_uri_cancellable), (gnome_vfs_check_same_fs_uris_cancellable), (gnome_vfs_set_file_info_cancellable): * libgnomevfs/gnome-vfs-private-utils.c: (gnome_vfs_create_temp): * libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_from_errno), (gnome_vfs_result_from_h_errno): * libgnomevfs/gnome-vfs-seekable.c: (read_file), (write_file), (init_seek), (do_open), (do_create), (do_truncate_handle): * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (handle_overwrite), (create_directory), (xfer_create_target), (copy_items), (move_items), (gnome_vfs_new_directory_with_unique_name), (gnome_vfs_xfer_uri), (gnome_vfs_xfer_private): * modules/bzip2-method.c: (result_from_bz_result), (do_open), (do_create): * modules/extfs-method.c: (do_open), (do_create), (do_write), (do_truncate_handle), (do_truncate), (do_open_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_make_directory), (do_find_directory), (do_remove_directory), (do_move), (do_unlink), (do_check_same_fs): * modules/file-method.c: (do_open), (do_create), (do_seek), (do_tell), (do_truncate_handle), (do_truncate), (do_open_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_make_directory), (do_remove_directory), (do_find_directory), (rename_helper), (do_move), (do_unlink), (do_set_file_info): * modules/ftp-method.c: (ftpfs_open_socket), (ftpfs_connection_connect), (login_server), (linear_start), (send_ftp_command), (retrieve_file), (get_file_entry), (ftpfs_open), (ftpfs_create), (ftpfs_open_directory), (ftpfs_get_file_info): * modules/gconf-method.c: (do_open), (do_create), (do_close), (do_read), (do_write), (do_get_file_info_from_handle): * modules/gzip-method.c: (result_from_z_result), (skip_string), (skip), (read_guint32), (read_gzip_header), (do_open), (do_create): * modules/http-method.c: (http_status_to_vfs_result), (create_handle), (do_open), (make_propfind_request): * modules/newftp-method.c: (ftp_response_to_vfs_result), (do_transfer_command), (do_open), (do_read), (do_write), (internal_get_file_info), (do_move): * modules/pipe-method.c: (do_open): * test/test-async-cancel.c: (file_open_fail_callback): 2000-06-21 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (initialize_edit_applications_dialog), (nautilus_mime_type_capplet_show_new_extension_window), (add_new_application), (show_new_application_window): More work on adding applications and extension. * mime-type-capplet/nautilus-mime-type-capplet.c: (nautilus_mime_type_capplet_add_extension), (remove_extension_clicked), (none_button_toggled), (application_button_toggled), (component_button_toggled), (init_mime_capplet), (nautilus_mime_type_capplet_get_selected_item_mime_type): Changed use of GtkFixed to use layout. Layout is now messy again, but I should be able to get it looking right. 2000-06-20 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_matches_p): Fix a memory thrasher in my new code. * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: Add proper key entries to Photoshop file type. 2000-06-20 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.h: * libgnomevfs/gnome-vfs-mime-magic.c: (is_octal_digit), (is_hex_digit), (read_octal_byte), (read_hex_byte), (read_string_val), (read_hex_pattern), (read_num_val), (eat_white_space), (match_pattern), (gnome_vfs_mime_magic_parse), (endian_swap), (try_one_pattern_on_buffer), (gnome_vfs_mime_magic_matches_p), (gnome_vfs_mime_try_one_magic_pattern), (gnome_vfs_mime_get_magic_table), (gnome_vfs_mime_test_get_magic_table), (print_escaped_string), (print_hex_pattern), (gnome_vfs_mime_dump_magic_table): Rewrote most of the mime rule parser, cleaning it up and fixing a ton of problems. Added support for patterns with masks. Added support for offset ranges. Added support for comments in the magic rule file. Got rid of unused entries in the GnomeMagicEntry struct. Fixed mask support in gnome_vfs_mime_magic_matches_p. Made gnome_vfs_mime_magic_matches_p and gnome_vfs_mime_try_one_magic_pattern share code. Added a way to dump the MIME magic table and to load an arbitrary table for debugging purposes. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_text): Added support for UTF-8 text. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_mp3): Added an algorithmic sniffer for audio/x-mp3. * test/test-mime.c: (main): Added a way to load and dump a specific file with magic rules. * data/mime/gnome-vfs-mime-magic: Added comments. Added sniff rule for Photoshop documents using a pattern with a mask. Changed html rules to work on an offset range. Added sniff rules for C and C++ files. Reordered rules placing ones that require a seek deep into the examined file last. 2000-06-20 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type): Another place we need to handle NULL. 2000-06-20 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet.c: (mime_list_selected_row_callback), (none_button_toggled), (application_button_toggled), (component_button_toggled), (init_mime_capplet), (nautilus_mime_type_capplet_update_info): Added frame and set of radio buttons to indicate and allow the user to change the default action that will occur when a file is clicked/double-clicked in Nautilus. We have three choices that map to the three types of actions we currently support. 2000-06-20 Gene Z. Ragan Fixed bug #1221 * mime-type-capplet/nautilus-mime-type-capplet.c: (application_menu_activated), (populate_application_menu), (component_menu_activated), (populate_component_menu): Add handling of the case where a default application or component is not in the default applicaiton or component list. This involved some UI work and adding the default app to the default list. Hopefully the gnome-vfs-mime-handler API will not allow this to happen, but we handle it just in case. Cleaned up the way the menu items for the default application and component are set and added a signal handler to set the user's choice of application or component to be the default. 2000-06-20 Gene Z. Ragan Fixed bug #1055 * libgnomevfs/gnome-vfs-mime-handlers.c: * libgnomevfs/gnome-vfs-mime-handlers.h: (gnome_vfs_mime_add_extension): Renamed function to be more in accordance with other function in file. (gnome_vfs_mime_remove_extension): New function to remove mapped extension from mime type. * libgnomevfs/gnome-vfs-mime-info.c: (load_mime_list_info_from), (gnome_vfs_mime_get_extensions), (mime_list_sort), (get_key_name), (gnome_vfs_mime_commit_registered_types), (write_mime_data_foreach), (write_registered_mime_data): A couple of things done here. One was work on the tokenizer so that it handled a variety of cases when reading in key data form .mime files. Another was work on saving and deleting mapped extensions from the .mime file. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_extension_window): Work on saving and deleting mapped extensions from the .mime file. * mime-type-capplet/nautilus-mime-type-capplet.c: (populate_extension_list), (nautilus_mime_type_capplet_add_extension), (remove_extension_clicked): Work on saving and deleting mapped extensions from the .mime file. 2000-06-20 John Sullivan * data/mime/gnome-vfs.keys: Finished renaming of some types from application/x-foo to text/x-foo. * data/mime/gnome-vfs.mime: Removed mysterious colons at the ends of some mime type names that was causing them not to match the keys. 2000-06-19 Ramiro Estrugo * data/mime/gnome-vfs.keys: Make mozilla the default 2000-06-19 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (mime_type_get_supertype): Made another function tolerant of NULL since we use NULL to mean unknown MIME type all the time. 2000-06-19 Darin Adler * po/POTFILES.in: Removed mime-data.c to fix build. 2000-06-19 Gene Z. Ragan * mime-type-capplet/mime-data.c: * mime-type-capplet/mime-data.h: Removed obsolete files. * mime-type-capplet/Makefile.am: Removed above files from Makefile. * libgnomevfs/gnome-vfs-mime-handlers.c: * libgnomevfs/gnome-vfs-mime-handlers.h: (gnome_vfs_mime_add_extension_to_mime_type): New function. Add extension mapping to named mime type and save to .mime file. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: (load_mime_list_info_from), (load_mime_type_info), (gnome_vfs_mime_get_extensions), (gnome_vfs_mime_extension_list_free): New function to deep free the list returned by gnome_vfs_mime_get_extensions() (gnome_vfs_mime_registered_mime_type_list_free), New function to deep free the list returned by gnome_vfs_mime_get_extensions() (gnome_vfs_mime_commit_registered_types): Public function to commit internal hash table of mime data to disk. (gnome_vfs_mime_set_registered_type_key): This functions sets the key data for the registered mime type's hash table. (write_mime_data_foreach), (write_mime_data): New functions to write out mime data from hash table. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window), (nautilus_mime_type_capplet_show_new_extension_window): Clean up work on dialogs. * mime-type-capplet/nautilus-mime-type-capplet.c: (ok_callback), (populate_extension_list), (nautilus_mime_type_capplet_add_extension), (remove_extension_clicked), (init_mime_capplet), (delete_mime_clicked), (create_mime_list_and_scroller), (get_selected_item_mime_type): Clean up work on main capplet view. 2000-06-17 Gene Z. Ragan File Types and Programs capplet work in progress. * mime-type-capplet/mime-info.c: * mime-type-capplet/mime-info.h: Removed obsolete files from capplet. * mime-type-capplet/Makefile.am: Remove above files form makefile. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs-mime-info.h: (list_context_new), (context_destroy_and_unlink), (load_mime_type_info_from), (load_mime_list_info_from), (mime_list_load), (load_mime_type_info), (gnome_vfs_mime_init), (gnome_vfs_mime_info_clear), (gnome_vfs_mime_info_shutdown), (get_key_name), (gnome_vfs_get_registered_mime_types): Various fixes and modifications. Fixed a bug in the mime key database parser that caused comments to be read in incorrectly. * mime-type-capplet/mime-data.c: (add_to_key), (add_mime_vals_to_clist), (add_new_mime_type), (add_new_mime_type), (write_mime_foreach): Capplet work in progress. * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: (nautilus_mime_type_capplet_show_new_mime_window): Capplet work in progress. * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet.h: (main), (g_list_free_deep), (try_callback), (revert_callback), (ok_callback), (cancel_callback), (populate_extension_list), (mime_list_selected_row_callback), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (delete_mime_clicked), (edit_applications_clicked), (edit_components_clicked), (insert_mime_vals_into_clist), (create_mime_list_and_scroller): Capplet work in progress. 2000-06-16 Pavel Cisler * data/mime/gnome-vfs.mime: Fix two incorrect mime types. 2000-06-16 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_text), * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: Fix bug 1168 - add UTF-8 support to the text mime sniffer. * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: (gnome_vfs_get_mime_type_for_buffer), (gnome_vfs_sniff_buffer_looks_like_mp3): Fix bug 960 - add algorithmic sniffer for detecting audi/x-mp3 files. * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_open_uri_cancellable): Fix bug 1189 - removed retry code in open and made it respect the RANDOM flag as set by the caller. 2000-06-16 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_application): Added a FIXME to note that we need to enhance the "default-application" feature. (gnome_vfs_mime_get_default_component): Use the new exported liboaf.h OAF_ServerInfo_duplicate instead of our own, local, flawed function. (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_all_applications), Prune the list to only ones with applications that "exist" by calling the new prune_ids_for_nonexistent_applications function. (strdup_to), (is_executable_file), (executable_in_path), (get_executable_name_from_command_string), (application_known_to_be_nonexistent), (prune_ids_for_nonexistent_applications): Write the functions needed for a clean implementation of prune_ids_for_nonexistent_applications. (OAF_ServerInfoList_to_ServerInfo_g_list): Use the new exported liboaf.h OAF_ServerInfo_duplicate instead of our own, local, flawed function. 2000-06-16 John Sullivan * data/mime/gnome-vfs.keys, * data/mime/gnome-vfs.mime: Changed illegal audio/midi to legal audio/x-midi, and fixed up some font keys that didn't get updated in synch earlier. Fri Jun 16 12:11:32 2000 George Lebl * libgnomevfs/gnome-vfs-constants.h: When the long is actually 64bit, use "ld" and "lu" for the format. * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: Include to fix warnings * modules/gconf-method.c: Include and to fix warnings * test/test-async-directory.c (print_list): test/test-async.c (read_callback): Use the GNOME_VFS_SIZE_FORMAT_STR format constant to print out sizes 2000-06-16 Darin Adler * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_get_value), (gnome_vfs_mime_get_keys): Change to support MIME types of NULL which will make code simpler since NULL is commonly used to mean "unknown MIME type". 2000-06-15 Pavel Cisler * data/mime/gnome-vfs-mime-magic: Add mime magic for shell scripts. 2000-06-15 Pavel Cisler * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type): * modules/gconf-method.c: (set_mime_type_dir): * modules/http-method.c: (process_propfind_propstat): Convert illegal "special/..." mime types to legal ones. * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_type_from_magic): Fix all illegal mime types. Reformat the magic table a bit and reorder it to put ambiguous rules last. * modules/http-method.c: (process_propfind_propstat): Change a TODO: to a FIXME: Get rid of an extra if before a g_free. 2000-06-15 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type): Fix bug where we would not fall back to the supertype action if the action type string was NULL. (gnome_vfs_mime_get_default_component): Fix bug where we would free an uninitialized variable. 2000-06-15 Gene Z. Ragan Work in progress on the FIle Types and Programs Capplet * mime-type-capplet/Makefile.am: Removed obsolete files form build. * mime-type-capplet/edit-window.c: * mime-type-capplet/edit-window.h: Obsolete. Removed. * mime-type-capplet/new-mime-window.c: * mime-type-capplet/new-mime-window.h: Obsolete. Removed. * mime-type-capplet/mime-data.c: (add_mime_vals_to_clist), (selected_row_callback): * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: (edit_applications_dialog_destroy), (application_is_in_list), (application_button_toggled_callback), (populate_default_applications_box), (populate_default_components_box), (initialize_edit_applications_dialog), (show_edit_applications_dialog), (show_edit_components_dialog), (nautilus_mime_type_capplet_show_new_mime_window), (nautilus_mime_type_capplet_show_new_extension_window): * mime-type-capplet/nautilus-mime-type-capplet.c: * mime-type-capplet/nautilus-mime-type-capplet.h: (revert_callback), (populate_extension_list), (nautilus_mime_type_capplet_add_extension), (add_extension_clicked), (remove_extension), (extension_list_selected), (extension_list_deselected), (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (add_mime_clicked), (edit_components_clicked), (nautilus_mime_type_capplet_update_application_info), (nautilus_mime_type_capplet_update_component_info): 2000-06-15 Darin Adler * libgnomevfs/gnome-vfs-gen-mimedb.c: (main): * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_init): * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_magic_table): * libgnomevfs/gnome-vfs-mime.c: (mime_init): * mime-type-capplet/mime-data.c: (init_mime_type): Added FIXMEs to places that get MIME info from the gnome-libs prefix since we install this stuff in the gnome-vfs prefix. We already had a bug report about this. 2000-06-15 John Sullivan * data/mime/gnome-vfs.mime, * data/mime/gnome-vfs.keys: Added description for .lha, and extension + description for .lhz. 2000-06-14 Gene Z. Ragan * mime-type-capplet/nautilus-mime-type-capplet-dialogs.c: * mime-type-capplet/nautilus-mime-type-capplet-dialogs.h: New files. Trying to clean up current capplet source and organize it in a sensible way. (edit_application_dialog_destroy), (edit_component_dialog_destroy), (populate_default_applications_list), (populate_preferred_applications_list), (component_is_in_list), (component_button_toggled_callback), (populate_default_components_box), (populate_preferred_components_list), (initialize_edit_applications_dialog), (initialize_edit_components_dialog), (show_edit_applications_dialog), (show_edit_components_dialog), Brand new functions. * mime-type-capplet/Makefile.am: Added new source file listed above. * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (populate_application_menu), (populate_component_menu), (edit_applications_clicked), (edit_components_clicked): Work on setting up info view. 2000-06-14 Maciej Stachowiak Part of task 1057: Terminal-based programs should open into a new terminal window * data/mime/application-registry-hack.keys: Set requires_terminal setting for everything. * libgnomevfs/gnome-vfs-mime-handlers.h, libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_application_new_from_id): Add requires_terminal field to the GnomeVFSMimeApplication structure and initialize it appropriately. * test/test-mime-handlers.c (print_application): Print the require_terminal setting. 2000-06-14 John Sullivan * data/mime/gnome-vfs.keys: Maciej meant to change application/x-sh to text/x-sh, but didn't quite finish the job; also removed application/x-sh and application/x-tcl. 2000-06-14 Pavel Cisler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_list_free), (gnome_vfs_mime_component_list_free): Fix two leaks John and I found. 2000-06-13 Gene Z. Ragan More work in progress and added a new file to the capplet build. * mime-type-capplet/nautilus-mime-type-capplet.c: (main), (init_mime_capplet), (edit_applications_clicked), (edit_components_clicked), (edit_application_dialog_destroy), (initialize_edit_application_dialog), (show_edit_applications_dialog), (show_edit_components_dialog): * mime-type-capplet/nautilus-mime-type-capplet.h: New file 2000-06-13 Gene Z. Ragan Work in progress on the File Types and Program capplet * mime-type-capplet/edit-window.c: (initialize_main_win): * mime-type-capplet/mime-data.c: (get_priority), (add_to_key), (mime_fill_from_file), (add_mime_vals_to_clist), (selected_row_callback), (create_mime_clist), (add_new_mime_type): * mime-type-capplet/mime-data.h: * mime-type-capplet/nautilus-mime-type-capplet.c: (init_mime_capplet), (nautilus_mime_type_capplet_update_info), (populate_application_menu), (populate_component_menu), (free_mime_info), (delete_mime_clicked), (add_mime_clicked), (edit_applications_clicked), (edit_components_clicked): 2000-06-13 Maciej Stachowiak * data/mime/gnome-vfs.keys, data/mime/gnome-vfs.mime: Update file manager view IIDs, and use text/x-foo as the preferred mime type for more things that used to be application/x-foo. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_component): Fix type inserted when adding sort conditions. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_component):FIx part of FIXME 1145; prefer a component of the short list as a fallback default if no explicit default. (gnome_vfs_mime_get_short_list_components): Fix a bug in the query. 2000-06-13 Maciej Stachowiak Bugzilla task #1074 * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_action_type, gnome_vfs_mime_get_default_application, gnome_vfs_mime_get_default_component, gnome_vfs_mime_get_short_list_applications, gnome_vfs_mime_get_short_list_components, gnome_vfs_mime_get_all_applications): Added support for trying the supertype. (gnome_vfs_mime_str_list_merge, gnome_vfs_mime_str_list_apply_delta, gnome_vfs_mime_do_short_list_processing): New or modified helper functions. (process_app_list): Changed to take a GList of IDs instead of a comma-separated string. * data/mime/gnome-vfs.keys: Added text/* entry. 2000-06-13 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_all_components): Fix broken query. 2000-06-13 Maciej Stachowiak * data/mime/gnome-vfs.keys, data/mime/gnome-vfs.mime: Made canonical mime types for shell and c-shell scripts text/x-sh and text/x-csh, not application/x-sh and application/x-csh. 2000-06-12 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_set_default_application), (gnome_vfs_mime_set_default_component): Set the default action type if it had no previous value. 2000-06-12 Ramiro Estrugo * libgnomevfs/Makefile.am: Make the private header really private by not installing it. 2000-06-12 Eskil Heyn Olsen * gnome-vfs.spec.in: Changed the Requires to what the configure.in is actually checking for. * libgnomevfs/Makefile.am: Added gnome-vfs-mime-sniff-buffer-private.h to HEADERS. * mime-type-capplet/Makefile.am: added a -D to install of the .desktop file. Ensures that the dir is there during rpm -ta. Can now build a gnome-vfs rpm. 2000-06-09 John Sullivan Fixed bug 1302: can't undo mmap with g_free. Nautilus was sometimes crashing on exit due to this bug. * libgnomevfs/gnome-vfs-mime-magic.c: Added global variables to keep track of mmap size and whether mmap was used. (gnome_vfs_mime_get_magic_table): #ifdef declarations of variables only used in _POSIX_MAPPED_FILES case; use new globals to keep track of mmap size and whether mmap was used; check for MAP_FAILED case. (gnome_vfs_mime_clear_magic_table): Call munmap and not g_free if mmap was used. 2000-06-10 Sung-Hyun Nam * configure.in (ALL_LINGUAS): added ko 2000-06-08 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_component, gnome_vfs_mime_get_short_list_components, gnome_vfs_mime_get_all_components): Fix the queries 2000-06-08 Darin Adler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_basename), (gnome_vfs_uri_extract_short_path_name): * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string), (gnome_vfs_unescape_string), (gnome_vfs_unescape_for_display): Added code to handle NULL for the text of a URI. The old code would overreact and segfault. 2000-06-08 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_short_list_components, gnome_vfs_mime_get_all_components): Expand the queries to be closer to giving a superset of what Nautilus does. 2000-06-08 Darin Adler More leak fixes. * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-mime-private.h: Added a private header for some new calls. Made it really private, meaning it's not installed into the prefix include directory, unlike the old "private" files which are installed. * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_shutdown): Added this new function which calls gnome_vfs_mime_info_clear and then does the rest of the cleanup which can only be done at shutdown time. * libgnomevfs/gnome-vfs-mime-info.h: gnome_vfs_mime_info_clear is now a private call. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_get_magic_table): Put the mmap call inside an ifdef _POSIX_MAPPED_FILES for better portability. (gnome_vfs_mime_clear_magic_table): Added a FIXME because we can't undo an mmap call with a g_free call! * libgnomevfs/gnome-vfs-mime.c: (remove_one_mime_hash_entry): Fixed leak by freeing the items in the list, not just the list. (gnome_vfs_mime_shutdown): Fixed leak by destroying the hash tables and the directory names. (gnome_vfs_mime_type_or_default): Simplified logic for freeing the upext. * libgnomevfs/gnome-vfs-mime-handlers.h: Some formatting and cleanup. 2000-06-08 Maciej Stachowiak * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_shutdown): * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_info_clear), (gnome_vfs_mime_info_reload): * libgnomevfs/gnome-vfs-mime-info.h: * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_clear_magic_table): * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.c: (mime_extensions_empty), (maybe_reload), (gnome_vfs_mime_shutdown): * libgnomevfs/gnome-vfs-mime.h: Add calls that clear the different mime type tables and call them from gnome_vfs_shutdown. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_or_default): Fix a leak. 2000-06-07 Darin Adler * libgnomevfs/gnome-vfs-backend.c: (func_lookup): Fixed a storage leak. * test/test-async-cancel.c: (file_open_fail_callback), (test_open_fail), (main): Added a test. 2000-06-06 Pavel Cisler * libgnomevfs/gnome-vfs-directory-list.c: (gnome_vfs_directory_list_load), (gnome_vfs_directory_list_load_from_uri): Fix a storage and file descriptor leak. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_mime_type_or_default): Fix a leak. 2000-06-06 Ramiro Estrugo * libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): Use "/apps/nautilus" instead of "/nautilus" to conform to the gconf "standard" Thanks to andersca@gnu.org for pointing this out. 2000-06-06 Ramiro Estrugo * configure.in: Require only "gconf" not "gconf-gtk" 2000-06-06 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-info.h, libgnomevfs/gnome-vfs-mime-info.c (gnome_vfs_mime_info_reload): New call to force reloading of the MIME database. (maybe_reload): Use gnome_vfs_mime_info_reload if we decide to reload. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_set_default_action_type), (gnome_vfs_mime_set_default_application), (gnome_vfs_mime_set_default_component), (gnome_vfs_mime_set_short_list_applications), (gnome_vfs_mime_set_short_list_components), (gnome_vfs_mime_extend_all_applications), (gnome_vfs_mime_remove_from_all_applications), (gnome_vfs_mime_define_application): call gnome_vfs_mime_info_reload when done reloading. (gnome_vfs_mime_set_short_list_applications): Rewritten for correct memory management and improved clarity. 2000-06-06 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_remove_component_from_short_list): Fixed an application -> component typo. 2000-06-06 Pavel * libgnomevfs-corba/gnome-vfs-slave.c: (copy_metadata): * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_all_applications): * libgnomevfs/gnome-vfs-module-shared.c: * modules/extfs-method.c: (do_open_directory): Renumber some FIXMEs after marking them as duplicates. Fix a wrong FIXME number. 2000-06-06 Pavel * devel-docs/gnome-vfs-tutorial/gnome-vfs-tutorial.sgml: * doc/writing-modules.sgml: * modules/extfs-method.c: (do_open): Added more bug numbers to FIXMEs. Changed some mentions of FIXMEs to FixMes to make them not trigger the FIXME tool. 2000-06-05 Seth Nickell * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Modified to call gnome_vfs_unescape_string on the "short_name" before returning. * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_unescape_string): Added a g_assert to make sure length of returned string is correct (gnome_vfs_unescape_for_display): * libgnomevfs/gnome-vfs-utils.h: New function similar to unescape_string except that it returns the string formatted better for display - i.e. with "invalid" escape sequences and ASCII 0 still escaped * test/test-escape.c: (test_unescape), (test_unescape_display), (main): Added more test cases for escape code, improve output, added test code for gnome_vfs_unescape_for_display 2000-06-05 Pavel Cisler * libgnomevfs-corba/gnome-vfs-slave.c: (serve_channel_read), (serve_channel_write): * libgnomevfs-pthread/gnome-vfs-job-slave.c: * mime-type-capplet/edit-window.c: (populate_application_menu): * mime-type-capplet/mime-data.c: (add_to_key): * modules/extfs-method.c: (do_open), (read_directory_list), (do_open_directory), (match): * modules/extfs/cpio.in: * modules/extfs/lha.in: * modules/file-method.c: (read_directory): * modules/gconf-method.c: (directory_handle_destroy): Added more bug numbers to FIXMEs. Fixed one misspelled FIXME that made it show up in the check-FIXME.pl tool. 2000-06-05 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (call_progress), (count_items_and_size), (handle_name_conflicts), (copy_file), (copy_directory), (copy_items), (gnome_vfs_xfer_uri_internal), (gnome_vfs_xfer_private): Added more bug numbers to FIXMEs. 2000-06-05 Darin Adler * libgnomevfs-corba/gnome-vfs-async-ops.c: * libgnomevfs-corba/gnome-vfs-corba.c: (gnome_vfs_corba_init): * libgnomevfs-corba/gnome-vfs-slave-notify.c: (impl_Notify_load_directory): * libgnomevfs-corba/gnome-vfs-slave-process.c: (gnome_vfs_slave_process_reset), (gnome_vfs_slave_process_destroy): * libgnomevfs/gnome-vfs-directory-list.c: * libgnomevfs/gnome-vfs-handle.c: (gnome_vfs_handle_do_close): * libgnomevfs/gnome-vfs-parse-ls.c: * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_open_uri_cancellable): * libgnomevfs/gnome-vfs-private-utils.c: * libgnomevfs/gnome-vfs-result.c: (gnome_vfs_result_from_errno), (gnome_vfs_result_from_h_errno): * libgnomevfs/gnome-vfs-seekable.c: (do_open), (do_create), (do_truncate_handle): * libgnomevfs/gnome-vfs-shellpattern-filter.c: (gnome_vfs_shellpattern_filter_new): * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-uri.c: (get_method_string), (parse_uri_substring), (gnome_vfs_uri_append_path), (gnome_vfs_uri_to_string), (gnome_vfs_uri_is_local): * libgnomevfs/gnome-vfs-utils.h: Added more bug numbers to FIXMEs. 2000-06-05 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_set_default_application): Tiny reformatting. 2000-06-05 John Sullivan Refactored and made some helper functions public so clients that modify the program lists don't need to replicate a bunch of code. * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_id_in_application_list), (gnome_vfs_mime_id_in_component_list): Made these functions public. (gnome_vfs_mime_id_list_from_application_list), (gnome_vfs_mime_id_list_from_component_list): Gave these existing functions more public-sounding names and made them public. (gnome_vfs_mime_remove_application_from_list), (gnome_vfs_mime_remove_component_from_list): New public helper functions, extracted from the _short_list versions. (gnome_vfs_mime_add_application_to_short_list), (gnome_vfs_mime_add_component_to_short_list), (gnome_vfs_mime_remove_application_from_short_list), (gnome_vfs_mime_remove_component_from_short_list): Modified to call the new helper functions and reflect the renamings. 2000-06-05 Darin Adler * modules/bzip2-method.c: (bzip2_method_handle_init_for_decompress), (bzip2_method_handle_init_for_compress), (do_close), (do_read): * modules/file-method.c: (do_close), (set_mime_type), (do_find_directory), (rename_helper): * modules/ftp-method.c: * modules/gconf-method.c: (directory_handle_destroy), (get_value_size): * modules/gzip-method.c: (gzip_method_handle_init_for_deflate), (result_from_z_result), (do_open), (do_create), (do_close), (do_read): * modules/http-method.c: (http_file_handle_new), (http_status_to_vfs_result), (create_handle), (do_create): Added more bug numbers to FIXMEs. 2000-06-05 Pavel Cisler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_action_free): * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_matches_p), (gnome_vfs_sniff_buffer_looks_like_text): * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type): * libgnomevfs/gnome-vfs-parse-ls.c: Added more bug numbers to FIXMEs. 2000-06-05 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_components), (gnome_vfs_mime_set_default_action_type), (gnome_vfs_mime_set_default_application), (gnome_vfs_mime_set_default_component), (gnome_vfs_mime_set_short_list_applications), (gnome_vfs_mime_set_short_list_components), (gnome_vfs_mime_extend_all_applications), (gnome_vfs_mime_remove_from_all_applications), (gnome_vfs_mime_define_application), (get_user_level): * modules/extfs-method.c: (do_open_directory): Added bug numbers to FIXMEs. * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_xfer): Fixed the formatting of a FIXME bug. 2000-06-05 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_copy), (gnome_vfs_mime_application_free): Made these two routines accept NULL parameters. 2000-06-05 Pavel Cisler * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_xfer): * libgnomevfs-corba/gnome-vfs-slave-notify.c: (impl_Notify_reset): * libgnomevfs-corba/gnome-vfs-slave-process.c: * libgnomevfs-corba/gnome-vfs-slave-process.h: * libgnomevfs-corba/gnome-vfs-slave.c: (copy_metadata): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel): * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_job_slave_new): * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs/gnome-vfs-configuration.c: * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-messages.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_applications), (gnome_vfs_mime_get_all_components), (gnome_vfs_mime_extend_all_applications), (gnome_vfs_mime_remove_from_all_applications), (join_str_list), (get_user_level): Added bug numbers to FIXMEs. 2000-06-05 Mathieu Lacage * libgnomevfs/Makefile.am: add OAF_CFLAGS to include so that oaf.h is picked up when oaf is not in GNOME prefix. * test/Makefile.am : idem. 2000-06-05 Darin Adler * modules/http-method.c: * modules/newftp-method.c: (do_open_directory), (do_make_directory): * modules/pipe-method.c: (do_close): * test/gnome-file-selection/gicon.c: (get_stock_icon), (get_stock_overlay), (get_default_icon), (gicon_get_icon_for_file_2): * test/gnome-file-selection/gnome-file-selection-history.c: * test/gnome-file-selection/gnome-file-selection.c: (update_directory_combo_list), (setup_directory_combo_and_toolbar), (destroy), (class_init), (init): * test/test-info.c: Added bug numbers to FIXMEs. * mime-type-capplet/edit-window.c: (destruction_handler), (initialize_main_win), (launch_edit_window), (populate_application_menu): Got rid of the fixed-length mime_string field. * modules/file-method.c: (read_link), (get_stat_info): Some minor tweaks on the code Rebecca just checked in. There was a little problem with unsigned integers. 2000-06-05 Rebecca Schulman * modules/file-method.c Fixed lack of error handling for readlink call in read_link. 2000-06-05 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_default_component), (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_applications), (gnome_vfs_mime_get_all_components), (gnome_vfs_mime_set_default_action_type), (gnome_vfs_mime_set_default_application), (gnome_vfs_mime_set_default_component), (gnome_vfs_mime_set_short_list_applications), (gnome_vfs_mime_set_short_list_components), (id_list_from_component_list), (gnome_vfs_mime_add_application_to_short_list), (gnome_vfs_mime_remove_application_from_short_list), (gnome_vfs_mime_add_component_to_short_list), (gnome_vfs_mime_remove_component_from_short_list), (gnome_vfs_mime_extend_all_applications), (gnome_vfs_mime_remove_from_all_applications), (gnome_vfs_mime_define_application), (gnome_vfs_mime_action_free), (gnome_vfs_mime_application_list_free), (gnome_vfs_mime_component_list_free), (str_to_bool), (bool_to_str), (join_str_list): Added free calls to get rid of many storage leaks. Added more FIXMEs. Replaced lots of use of \' with just plain '. Replaced retval with variable names that are words in many places. Other reformatting and tweaking. 2000-06-05 Ramiro Estrugo * data/mime/gnome-vfs.keys: 2000-06-04 Ian McKellar * modules/newftp-method.c: (read_response_line), (ftp_connection_aquire), (do_open), (internal_get_file_info), (do_open_directory), (do_make_directory), (do_remove_directory), (do_move), (do_unlink): Fixed this lots. It should now fail gracefully if it can't connect or log into a server, and it should reconnect if a connection times out. 2000-06-02 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_application_to_short_list), (gnome_vfs_mime_remove_application_from_short_list), (gnome_vfs_mime_add_component_to_short_list), (gnome_vfs_mime_remove_component_from_short_list): Added implementations for these formerly empty functions. (gnome_vfs_mime_application_has_id), (gnome_vfs_mime_id_matches_application), (gnome_vfs_mime_id_matches_component), (gnome_vfs_mime_application_matches_id), (gnome_vfs_mime_component_matches_id), (gnome_vfs_mime_id_in_application_list), (gnome_vfs_mime_id_in_component_list), (id_list_from_application_list), (id_list_from_component_list), (g_list_free_deep): New helper functions used in the implementations of the add/remove functions. Most of these are replicated in nautilus_mime_action.c. I will make another pass to share code later. (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components): Fixed mistakes where the wrong list items were compared against, and added clarifying parentheses. There is still a bug that I couldn't find where these routines do not correctly include user additions to the lists. I'm writing this up. 2000-06-02 Darin Adler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_directory_with_unique_name): Fixed a URI leak. * libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): Tweaked gconf_init and some formatting. 2000-06-02 Gene Z. Ragan * mime-type-capplet/edit-window.c: (populate_application_menu): More work on handling the logic of populating the menu and handling special cases where short list, default application and applicaiton list may be NULL or empty. 2000-06-02 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.h, * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_add_application_to_short_list), (gnome_vfs_mime_remove_application_from_short_list), (gnome_vfs_mime_add_component_to_short_list), (gnome_vfs_mime_remove_component_from_short_list): Added prototypes and empty bodies for these new convenience functions. Implementations coming soon. 2000-06-02 Gene Z. Ragan More work in progress on the capplet. Still incomplete. * mime-type-capplet/edit-window.c: (initialize_main_win), (populate_application_menu): The Application window now displays the shortlist and selected the default application if it is present in the short list. (add_application): All of the mchinery is hooked up, but the API does not seem to be registering the new choice. 2000-06-02 Gene Z. Ragan More work in progress on the capplet. Still incomplete. * mime-type-capplet/edit-window.c: (initialize_main_win_vals), (show_edit_window), (populate_application_menu), (populate_component_menu), (application_menu_activate), (add_application), (show_file_selector): Work in progress. * mime-type-capplet/mime-data.c: (add_to_key): Work in progress. 2000-06-02 John Sullivan * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: Added application/x-gnumeric at andersca's suggestion. 2000-06-02 Darin Adler * libgnomevfs/gnome-vfs-utils.c: * libgnomevfs/gnome-vfs-utils.h: * test/test-escape.c: (main): Updated escape and test to not escape "+" except if explicitly asked. This makes the path escape function more useful for the real case of converting a path to a URI. * test/.cvsignore: Ignore test-mime-handlers-set. 2000-06-02 Ramiro Estrugo * libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): Use a GConfEngine directly to avoid depending on the Gtk object system. 2000-06-01 Maciej Stachowiak * data/mime/gnome-vfs.keys: Define short-list components for text/plain First half of task 370 (write APIs for mime handler stuff) * libgnomevfs/gnome-vfs-mime-handlers.h, libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_set_default_action_type, gnome_vfs_mime_set_default_application, gnome_vfs_mime_set_default_component, gnome_vfs_mime_set_short_list_applications, gnome_vfs_mime_set_short_list_components, gnome_vfs_mime_extend_all_applications, gnome_vfs_mime_remove_from_all_applications): Implemented (w/ some slight interface changes relative to old headers/stubs. (gnome_vfs_mime_define_application): New function. (bool_to_str, gnome_vfs_strsplit_to_list, gnome_vfs_strjoin_from_list, comma_separated_str_to_str_list, str_list_to_comma_separated_str, str_list_difference): More helper functions. * test/test-mime-handlers-set.c: Test for mime handler setter APIs. * test/Makefile.am: Build it. * mime-type-capplet/edit-window.c (add_application): Remove now-invalid call to gnome_vfs_mime_set_default_application w/ comment on how to do it better. 2000-06-01 Darin Adler * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_escape_string), (hex_to_int), (gnome_vfs_unescape_string): Fixed escape string to handle characters in a way that matches the URI RFC instead of being "conservative" and escaping everything. Also fixed to escape some characters it wasn't escaping and did code cleanup. Changed the API to gnome_vfs_unescape_string and made it handle cases where there are bad escape sequences or bad characters by returning NULL. * modules/file-method.c: (get_path_from_uri), (get_base_from_uri), (do_open), (do_create), (do_close), (do_read), (do_write), (do_truncate), (directory_handle_new), (do_open_directory), (do_get_file_info), (do_get_file_info_from_handle), (do_make_directory), (do_remove_directory), (do_find_directory), (rename_helper), (do_move), (do_unlink), (do_check_same_fs), (do_set_file_info): Handled URI escaping in every call. This involved unescaping URIs and handling the cases where there are bad characters. * test/test-escape.c: (test_escape), (test_unescape), (main): Added code to test both the escape and unescape functions. It's a lot easier to get it right if it's tested :-) This test gets run as part of make check. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name), (gnome_vfs_uri_extract_short_name): Update for the new name of the parameter to gnome_vfs_escape_string. 2000-06-01 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_copy): Oops, this wasn't updated to copy the new id field, wreaking havoc on my Nautilus code. 2000-06-01 John Sullivan * data/mime/gnome-vfs.keys: Fixed the application short lists for text/plain, text/html, and special/webdav-directory. 2000-06-01 Darin Adler * libgnomevfs/gnome-vfs-mime-handlers.c: (get_user_level): Added fake parameters to the gconf_init call. It just won't put up with 0/NULL as argc/argv. * test/test-escape.c: (test_escape), (main): More test code (work in progress). 2000-06-01 John Sullivan * data/mime/application-registry-hack.keys: added entry for eog. * data/mime/gnome-vfs.keys: added a couple of text applications to the complete list for text/html, so we can test full-list-longer-than-short-list. 2000-06-01 Darin Adler * data/mime/gnome-vfs.keys: Checked in a full version. I accidentally truncated this with my last check-in. Also forgot to mention in my last check-in that I had changed the name from componet to component for xpdf (which I also updated). * test/Makefile.am: * test/.cvsignore: * test/test-escape.c: (stop_after_log), (make_asserts_break), (test_failed), (main): Started a new test for the escape/unescape functions. 2000-06-01 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c (OAF_ServerInfo__copy): Implement copying of the attribute list properly by jumping through all the CORBA hoops. 2000-06-01 Darin Adler A set of changes to make the short lists be based on the user level. I'm not wild about adding the GConf dependency nor about the 3 identical lists for every MIME type, but for now this is what we designed. * configure.in: Changed to always require GConf, not just conditionally. * data/mime/gnome-vfs.keys: Updated the short list keys to have a separate list for each user level. * libgnomevfs/Makefile.am: Added GConf to what's linked with the gnome-vfs library. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (get_user_level): Added code to get the user level and include the user level name in the attribute name that's sought ought in the MIME data. * modules/gconf-method.c: Fixed build warnings. 2000-06-01 Maciej Stachowiak * data/mime/gnome-vfs.keys: Added short list and default components to all appropriate types. Expanded application info for some types. 2000-06-01 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_application_new_from_id): Get "can_open_multiple_files" and "can_open_uris" from the right properties. 2000-06-01 JP Rosevear * mime-type-capplet/Makefile.am: Make the capplet build if gnomevfs isn't already installed. * libgnomevfs-corba/gnome-vfs-corba.c: Use only the oaf stuff * libgnomevfs-corba/gnome-vfs-slave.c: ditto * libgnomevfs/Makefile.am: Remove oaf conditionals since we require oaf now * libgnomevfs-corba/Makefile.am: * configure.in: Check for oaf >= 0.3.0 and make it mandatory 2000-06-01 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.h: Added `id' field to GnomeVFSMimeApplication struct. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_application_new_from_id): Set the id field. * libgnomevfs/gnome-vfs-mime-handlers.h, libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_action_type): New function which only determines and returns the default action type. Needed for _for_uri versions of stuff in nautilus. (gnome_vfs_mime_get_default_action): Use it. * data/mime/gnome-vfs.keys: Populated with a bit more data. 2000-05-31 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.h, libgnomevfs/gnome-vfs-mime-handlers.c: Removed the _for_uri versions of these calls; they've been moved to Nautilus for now since they will require reading metadata. 2000-05-31 Darin Adler * libgnomevfs/gnome-vfs-directory.c: (directory_visit_internal), (gnome_vfs_directory_visit_files_at_uri): * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_append_file_name): * libgnomevfs/gnome-vfs-xfer.c: (empty_directory), (gnome_vfs_visit_list), (handle_name_conflicts), (copy_directory), (copy_items), (move_items), (gnome_vfs_xfer_delete_items), (gnome_vfs_new_directory_with_unique_name): A quick fix to Seth's check-in. He also forgot a ChangeLog. The change was to adda new append_file_name call that handles escaping correctly for combining a file name with a URI. * test/.cvsignore: Ignore some new test programs. 2000-05-31 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (gnome_vfs_mime_get_all_applications), (gnome_vfs_mime_get_all_components): Made these routines bail out immediately when passed NULL as the mime type. Maciej can flog me and change them back if he wants. (This prevents lots of spam when dealing with files that don't have any MIME type.) 2000-05-31 John Sullivan * libgnomevfs/gnome-vfs-mime-handlers.c: (get_mime_type_from_uri_hack), (gnome_vfs_mime_get_short_list_applications_for_uri), (gnome_vfs_mime_get_short_list_components_for_uri), (gnome_vfs_mime_get_all_applications_for_uri), (gnome_vfs_mime_get_all_components_for_uri): Added some temporary hacks so the _for_uri calls "work" by calling through to the mime-type-based ones. 2000-05-31 John Sullivan Couldn't wait for Maciej for a few bits here. * libgnomevfs/gnome-vfs-mime-handlers.h: * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_copy): New function (gnome_vfs_mime_application_free): Supplied implementation. (gnome_vfs_mime_application_list_free), (gnome_vfs_mime_component_list_free): New functions. 2000-05-31 Gene Z. Ragan Work in progress for the modified Files and Programs capplet that is relacing the old mime types capplet in the Gnome Control Center. * mime-type-capplet/Makefile.am: Added link dependeny to libgnomevfs. * mime-type-capplet/edit-window.c: (add_extension), (remove_extension): Rename functions to be more coherent. (initialize_main_win), (initialize_main_win_vals): Modified functions to remove dialog items that are obsolete in our new designs. Added new items such as the application and component menus. (populate_application_menu), (populate_component_menu), (application_menu_activate): Application menu functions that list the short list of applications for a mime type and allow a user to add applications to the short list. (add_application), (show_file_selector): Menu callback and function to display GtkFileSelection to allow user to locate an application to be associated with mime type. * mime-type-capplet/mime-data.c: (add_new_mime_type): Modified functions for new mime APIs. * mime-type-capplet/new-mime-window.c: (launch_new_mime_window): Modified functions for new mime APIs. * modules/file-method.c: (file_handle_new): Modified functions for new mime APIs. 2000-05-31 Dan Winship * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.keys: application/postscript doesn't have an x-, the registered type for Word is application/msword, and word processing formats in general are application/*, not text/* (because text/ means you can read it raw if you have to). Also, make some descriptions more consistent, and sync some types between the files where they differed. 2000-05-31 Pablo Saratxaga * data/mime/gnome-vfs-mime-magic: * data/mime/gnome-vfs.mime: * data/mime/gnome-vfs.keys: add new mime types. 2000-05-31 Ramiro Estrugo * Makefile.am: * configure.in: Now hook up the documentation generation up. 2000-05-31 Ramiro Estrugo * devel-docs/.cvsignore: * devel-docs/Makefile.am: * devel-docs/gnome-vfs-mime-type-handling.txt: * devel-docs/gnome-vfs-tutorial/.cvsignore: * devel-docs/gnome-vfs-tutorial/Makefile.am: * devel-docs/gnome-vfs-tutorial/gnome-vfs-tutorial.sgml: * devel-docs/gnome-vfs/.cvsignore: * devel-docs/gnome-vfs/Makefile.am: * devel-docs/gnome-vfs/gnome-vfs-decl.txt: * devel-docs/gnome-vfs/gnome-vfs-docs.sgml: * devel-docs/gnome-vfs/gnome-vfs-sections.txt: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime-info.sgml: * devel-docs/gnome-vfs/tmpl/gnome-vfs-mime.sgml: * devel-docs/gnome-vfs/tmpl/libgnome-vfs.sgml: * man/.cvsignore: * man/Makefile.am: * man/gnome-vfs-mime.5.in: Import gnome mime documentation from gnome-libs so that it can be properly updated over here in gnome-vfs. 2000-05-31 Maciej Stachowiak * libgnomevfs/Makefile.am: Conditionally compile in oaf-based stuff. Complete bugzilla task #586 in a functional albeit somewhat hackish way that is in need of much code cleanup and some internals redesign. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_short_list_applications, gnome_vfs_mime_get_short_list_components): Implemented. (gnome_vfs_mime_get_default_application, gnome_vfs_mime_get_all_applications): Updated to expect mime records to only point to app IDs, which point to app info in an external registry. (str_to_bool, join_str_list, strv_contains_str, extract_prefix_add_suffix, mime_type_get_supertype, strsplit_handle_null, gnome_vfs_mime_application_new_from_id, OAF_ServerInfo__copy, OAF_ServerInfoList_to_ServerInfo_g_list, process_app_list): New and modified helper functions. * test/test-mime-handlers.c (main): Add tests for short_list functions. * data/mime/gnome-vfs.keys: More test data; fix for new data representation. * data/mime/application-registry-hack.keys: Total hack using bogus mime types to create an application registry. Need a better solution than this long-term. * data/mime/Makefile.am: Install `application-registry-hack.keys'. 2000-05-30 Pavel Cisler * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private): Removed some obsolete xfer options. Added new ones to make new copy engine functions not depend so much on subtle values of input source/target lists of items. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_directory_with_unique_name): Darin and mjs hated the old name. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_delete_items): New call to support a fallback delete for files that cannot be moved to Trash. 2000-05-30 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_all_applications, gnome_vfs_mime_get_all_components): Implemented (gnome_vfs_mime_get_short_list_applications), (gnome_vfs_mime_get_short_list_components), (parse_app_lists, OAF_ServerInfoList_to_ServerInfo_g_list): New helper functions. * test/test-mime-handlers.c: Expanded to test the all_applications and all_components calls. * libgnomevfs/gnome-vfs-init.c: (gnome_vfs_init): Fix oaf initialization to use a better dummy argv. * data/mime/gnome-vfs.keys: Added more test data. 2000-05-30 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_new_folder), (gnome_vfs_xfer_private): Add yet another flavor to the copy engine to allow creating new directories. * libgnomevfs-corba/gnome-vfs-async-ops.c: (corba_gnome_vfs_async_xfer): * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_xfer): Get rid of an assert that no longer applies. 2000-05-30 Maciej Stachowiak * libgnomevfs/Makefile.am: Add OAF_CLAGS. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): oaf_init if it hasn't been done already. * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_default_action, gnome_vfs_mime_get_default_application, gnome_vfs_mime_get_default_component): Implemented more or less correctly (I hope). (extract_prefix_add_suffix, mime_type_get_supertype, OAF_ServerInfo__copy) : Helper functions cut & pasted from elsewhere. * test/test-mime-handlers.c: Test for gnome-vfs-mime-handlers API. * test/Makefile.am: Add the above to the build. * data/mime/gnome-vfs.keys: Put in some default ation/application/component data for testing purposes. 2000-05-27 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job-slave.c: (gnome_vfs_job_slave_new), (gnome_vfs_thread_backend_shutdown), (gnome_vfs_debug_get_thread_count): Made gnome_vfs_thread_backend_shutdown work properly by adding the right call to yield to the gtk idle task that is needed to allow all the task callbacks to finish. This simplifies the application quit. Tweaked some debugging messages. * libgnomevfs-pthread/gnome-vfs-job.c: (job_signal_ack_condition), (job_ack_notify), (job_notify), (gnome_vfs_job_finish_destroy), (gnome_vfs_job_prepare), (execute_load_directory_not_sorted), (execute_load_directory_sorted), (gnome_vfs_job_execute), (gnome_vfs_job_cancel): Added a cancel check to job_notify to make sure someone is still expecting a notification before we start notifying. Add checks to the return value of job_notify, bailing from all the calls during cancel. Added the same check to execute_load_directory_not_sorted to make it bail out earlier during a cancel. When cancelling, signal to the possibly waiting job_ack_notify to make it give up waiting. Added a lot more debugging code to help me chase down the problems. * test/test-async-cancel.c: (stop_after_log), (make_asserts_break), (directory_load_callback), (yield), (test_load_directory_cancel), (main): Made the test stop in the debugger during an assert. Added tests for load_directory cancellations. 2000-05-27 Dan Winship * libgnomevfs-corba/gnome-vfs-slave-notify.c (impl_Notify_open_as_channel): cast "struct sockaddr_un *" argument to connect to "struct sockaddr *". * libgnomevfs/gnome-vfs-private.h: Fix the getdelim prototype. 2000-05-26 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.h, libgnomevfs/gnome-vfs-mime-handlers.c: Add stub implementations for all functions. Add `gnome_vfs_mime_application_free' function. * libgnomevfs/Makefile.am: Add `libgnomevfs/gnome-vfs-mime-handlers.c' to the build. * libgnomevfs/gnome-vfs-mime-handlers.h: Add a "name" field to the GnomeVFSMimeApplication struct, as John and I discussed. * libgnomevfs/gnome-vfs-types.h: include , not jsut (glibconfig is really supposed to be an internal header anyway). 2000-05-26 Gene Z. Ragan All of the below is work in progress on the Files and Programs capplet. I am currently retro-fitting jrb's capplet to use our modified capplet layout and new gnome-vfs mime API. This capplet does not currently work properly, but does build and causes no harm if run. * mime-type-capplet/edit-window.c: (ext_remove), (apply_changes), (initialize_main_win), (initialize_main_win_vals), (launch_edit_window), (hide_edit_window), (show_edit_window), (populate_application_menu), (populate_component_menu): * mime-type-capplet/mime-data.c: (selected_row_callback), (edit_clicked): * mime-type-capplet/nautilus-mime-type.desktop: Changed entries so capplet would register itself as "Files and Programs" 2000-05-26 John Sullivan * data/mime/gnome-vfs.keys: Added one more description. This had been sitting around on my disk for awhile but I forgot. 2000-05-26 Maciej Stachowiak * libgnomevfs/gnome-vfs-mime-handlers.h: Header for upcoming mime handler API. * libgnomevfs/Makefile.am: Install the new header. 2000-05-24 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_sniff_buffer_looks_like_text): * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type): Implement a simple version of the call. Rename to a better name. * libgnomevfs/gnome-vfs-mime.c: (gnome_vfs_get_mime_type_from_file_data): Add detecting text files. 2000-05-24 Pavel Cisler * data/mime/gnome-vfs-mime-magic: Add a magic rule for rpm files. * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_matches): Fix a bug that would make the routine fail most of the times. * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: * libgnomevfs/gnome-vfs-mime-sniff-buffer-private.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime.c: (handle_seek_glue), (handle_read_glue), (gnome_vfs_mime_sniff_buffer_new_from_handle), (gnome_vfs_mime_sniff_buffer_new_generic), (gnome_vfs_mime_sniff_buffer_get): Add callback vectors to mime shiff buffer to allow providing any seek and read calls to make it work on anything, not just GnomeVFSHandles. Reworked gnome_vfs_mime_sniff_buffer_get to use the callback vectors. Rewrite gnome_vfs_mime_sniff_buffer_new_from_handle to use the callback vectors. * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-module-shared.c: (gnome_vfs_mime_type_from_mode), (gnome_vfs_get_special_mime_type), (libgnomevfs/gnome-vfs-module-shared.h): Move the routine close to an existing call that has similar logic. * modules/file-method.c: (read_directory): Tweak a comment. 2000-05-24 Ramiro Estrugo * mime-type-capplet/.cvsignore, mime-type-capplet/Makefile.am mime-type-capplet/mime-type-capplet.c mime-type-capplet/mime-type.desktop mime-type-capplet/nautilus-mime-type-capplet.c mime-type-capplet/nautilus-mime-type.desktop: Rename the 'mime-type' capplet to 'nautilus-mime-capplet' to avoid clobbering the control-center's one. 2000-05-23 Maciej Stachowiak * libgnomevfs/gnome-vfs-uri.c (get_method_string): Allow digits, `+', `-' and `.' in the uri scheme name. 2000-05-23 Pavel Cisler * libgnomevfs/gnome-vfs-mime-magic.c: * libgnomevfs/gnome-vfs-mime-magic.h: * libgnomevfs/gnome-vfs-mime.c: * libgnomevfs/gnome-vfs-mime.h: (gnome_vfs_mime_try_one_magic_pattern), (gnome_vfs_get_mime_type_for_buffer), (gnome_vfs_mime_magic_db_load), (gnome_vfs_mime_get_magic_table), (gnome_vfs_mime_type_from_magic), (gnome_vfs_get_special_mime_type), (gnome_vfs_get_mime_type_from_name_internal), (gnome_vfs_get_mime_type_from_name), (gnome_vfs_get_mime_type), (gnome_vfs_get_mime_type_from_file_data), (gnome_vfs_get_mime_type_for_data), (gnome_vfs_get_sniff_buffer_looks_like_text): Add new magic MIME sniffing APIs that can work on a URI as well as on an in-memory buffer. Fix the broken use of mask. Fix a bug where octal numbers were not parsed properly -- pretty much half the rules that used octal numbers never worked. Make the loading of the MIME-magic entry database thread-safe. Change the MIME-type lookup sequence for the default call. * libgnomevfs/Makefile.am: * libgnomevfs/gnome-vfs-mime-sniff-buffer.h: * libgnomevfs/gnome-vfs-mime-sniff-buffer.c: Lazy-reading buffer that can wrap either a file or a memory buffer and that is passed to the new magic MIME type sniffing calls. * libgnomevfs/gnome-vfs-mime-magic.c: (read_hex_str): Fix a bug Darin helped me find where uppercase hex numbers weren't converted properly. * libgnomevfs/gnome-vfs-mime-magic.c: (read_string_val): Fix a bug where octal numbers were not parsed properly -- pretty much half the rules that used octal numbers never worked. * data/mime/gnome-vfs-mime-magic: Re-did the whole file. We'll add more entries in the future, for now start with a good set of magic rules that are correct and that are for file types you are actually likely see on your machine. Ordered the rules such that the more-ambiguous ones are at the end of the file to minimize the chance of getting false positive. Fixed a number of incorrect rules in some of the entries I kept from the old file. * test/Makefile.am: * test/test-mime.c: New testing tool to test the new MIME-magic sniffing routines. In addition to testing the main gnome_vfs_get_mime_type allows testing magic-only MIME sniffing (good for verifying that a new magic entry is correct) and suffix-only MIME sniffing. 2000-05-23 Ramiro Estrugo * configure.in: Removed -lgnomevfs from CAPPLET_LIBS. 2000-05-23 Ramiro Estrugo * Makefile.am: * configure.in: * mime-type-capplet/.cvsignore: * mime-type-capplet/Makefile.am: * mime-type-capplet/edit-window.c, * mime-type-capplet/edit-window.h, * mime-type-capplet/mime-data.c, * mime-type-capplet/mime-data.h, * mime-type-capplet/mime-info.c, * mime-type-capplet/mime-info.h, * mime-type-capplet/mime-type-capplet.c, * mime-type-capplet/mime-type.desktop, * mime-type-capplet/new-mime-window.c, * mime-type-capplet/new-mime-window.h: Copy mime-type capplet from the control-center so that it can be improved and made to use gnome-vfs. This has the unfortunate side-effect of introducing a dependency on libcapplet. This is temporary until the capplet can move back to the control-center. At that time, the control-center will depend on gnome-vfs and eveyone will live happily ever after. 2000-05-19 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: (dispatch_job_callback), (serve_channel_write), (gnome_vfs_job_new): Fixed up the rest of the g_io_channel_read calls to prevent them from returning without reading any input when a thread is signalled. Added more debugging code. 2000-05-19 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_job_callback): Handle a bug where g_io_channel_read would sometimes return with an error and without any characters read, failing to synchronize with the slave thread. I need to figure out why this is happening (probably a race condition in the g_io_channel setup code) for now added code that forces the read to be repeated. Fixes a problem Ettore and Andy were running into. * libgnomevfs-pthread/gnome-vfs-job-slave.c: * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: Clean up debugging code a ton. 2000-05-19 Darin Adler * modules/file-method.c: (set_mime_type): Fixed to get the fast type if the slow type returns NULL. * modules/pipe-method.c: Got rid of commented out copy of set_mime_type, since it will just get out of sync. with the real copy. 2000-05-19 Darin Adler * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): There was a bug in the change to free method_string. This should fix it. * libgnomevfs/gnome-vfs.h: Fixed a FIXME. * test/gnome-file-selection/Makefile.am: Fixed a FIXME. 2000-05-19 Maciej Stachowiak * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Actually, now it looks like Rebecca's change had nothing to do with the problem I'm seeing, so I'm reverting my change. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Commented out Rebecca's memory leak fix for now; it looks correct to me but it must be triggering some other bug because it makes Nautilus do strange things for me and others. 2000-05-18 Rebecca Schulman * libgnomevfs/gnome-vfs-uri.c Fixed a memory leak in gnome_vfs_uri_new. (method_string sometime was never freed) 2000-05-18 Maciej Stachowiak * data/mime/gnome-vfs-mime-magic: Replaced mime type of "X pixmap image text" to "image/x-xpm". 2000-05-17 Pavel Cisler * libgnomevfs/gnome-vfs-uri.c: * libgnomevfs/gnome-vfs-uri.h: (gnome_vfs_uri_is_parent): Added a new utility call. * libgnomevfs/gnome-vfs-uri.c: (my_streq): Fixed it up to treat NULL and "" the same and cleaning it up. This fixes a bug in gnome_vfs_uri_equal making it fail on URIs that should have been evaluated as equal. * libgnomevfs/gnome-vfs-xfer.c: (move_items): Fix a bug where in some cases the error callback would get called without the names of the files it failed on. 2000-05-17 John Sullivan * data/mime/gnome-vfs.keys: Added application/x-asp 2000-05-16 Gene Z. Ragan * libgnomevfs/gnome-vfs-uri.c: Reverted due to accidental check-in during last commit. 2000-05-16 Gene Z. Ragan * test/gnome-file-selection/main.c: #include "libgnomevfs/gnome-vfs.h", not "gnome-vfs.h". 2000-05-16 Ettore Perazzoli * test/gnome-file-selection/gnome-file-selection.c: #include "libgnomevfs/gnome-vfs.h", not "gnome-vfs.h". * test/gnome-file-selection/Makefile.am (INCLUDES): Replace `-I$(top_srcdir)/libgnomevfs' with `-I$(top_srcdir)'. 2000-05-16 Ettore Perazzoli * libgnomevfs/gnome-vfs-mime-info.c (language_level): Correctly cast the `void *' pointer before passing to `strcmp()'. Also, made const-safe and re-indented a bit. 2000-05-16 Ian McKellar * modules/newftp-method.c: Fixed warning. 2000-05-16 Ian McKellar * modules/Makefile.am: * modules/default-modules.conf: * modules/newftp-method.c: * modules/newftp-method.h: New FTP method. It doesn't currently work with Netpresenz servers, but it is thread safe. Play with it, break it, mail me the addresses of FTP servers that don't work. This is a complete reimplementation, so I've left the old ftp-method in cvs as a reference. * test/test-info.c: (main): Accept multiple URIs on the command line. 2000-05-11 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): Fix bug 435: gnome_vfs_async_xfer does not report errors that Darin was running into. 2000-05-11 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job-slave.c: Add debugging code to help me fix deadlocks caused by gnome vfs not shutting down properly. * libgnomevfs-pthread/gnome-vfs-job.c: Make the JOB_DEBUG debugging print atomic. * libgnomevfs/gnome-vfs-backend.h: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs/gnome-vfs-init.h: * libgnomevfs/gnome-vfs-init.c: * libgnomevfs-pthread/gnome-vfs-job-slave.c: * libgnomevfs-pthread/gnome-vfs-job-slave.h: (gnome_vfs_thread_backend_shutdown), (gnome_vfs_debug_get_thread_count): Add a call that will allow apps to synchronize with the slave threads that are finishing up. 2000-05-10 Dan Winship * data/mime/gnome-vfs.keys: Add message/* and multipart/* mime types. They aren't useful for identifying files, but they may be useful for mail programs, and it would be dumb to have a separate MIME type database for that. Also fix up some descriptions, add some more types, and remove text/vnd.latex-z, because it's not what you think (and not useful). * data/mime/gnome-vfs.mime: Sync. 2000-05-09 Pavel Cisler * libgnomevfs/gnome-vfs-gen-mimedb: Removed from CVS. Oops, checked this in by accident. 2000-05-09 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: (execute_xfer): Add a missing job_close that was triggering an assert for various file system operations. 2000-05-09 Pavel Cisler * libgnomevfs-pthread/gnome-vfs-job.c: (job_oneway_notify): Handle the case where job_oneway_notify gets called from gnome_vfs_job_destroy properly - the current_op is NULL but we may still have a pending notify_op. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_cancel): Fix a crash during cancellation - the call was dereferencing a null job when cancelling. 2000-05-08 Darin Adler A fix for canceling. Cancels can still be done until the caller is notified, even if the work is done. * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_cancel): Allow the caller to cancel a task even if we are done with it. * test/test-async-cancel.c: (test_get_file_info): Tweak message. 2000-05-08 Darin Adler Another cut at fixing the pthread back end for GNOME VFS. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_cancel), (pthread_gnome_vfs_async_open_uri), (pthread_gnome_vfs_async_open), (pthread_gnome_vfs_async_open_uri_as_channel), (pthread_gnome_vfs_async_open_as_channel), (pthread_gnome_vfs_async_create_uri), (pthread_gnome_vfs_async_create), (pthread_gnome_vfs_async_create_as_channel), (pthread_gnome_vfs_async_close), (pthread_gnome_vfs_async_read), (pthread_gnome_vfs_async_write), (pthread_gnome_vfs_async_get_file_info), (pthread_gnome_vfs_async_load_directory), (pthread_gnome_vfs_async_load_directory_uri), (pthread_gnome_vfs_async_xfer), (pthread_gnome_vfs_async_add_status_callback), (pthread_gnome_vfs_async_remove_status_callback): Changed to use the separate op structure so we can support starting a new operation before we have notified about the last one. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): Re-enabled destroying the GnomeVFSJob objects, although the actual destroying takes place on the main thread after a subsequent notify. (gnome_vfs_job_slave_new), (gnome_vfs_job_slave_destroy), (pthread_gnome_vfs_debug_get_thread_count): Added thread count interface for testing and debugging. * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c: (job_oneway_notify), (job_notify), (dispatch_open_callback), (dispatch_create_callback), (dispatch_open_as_channel_callback), (dispatch_create_as_channel_callback), (dispatch_close_callback), (dispatch_read_callback), (dispatch_write_callback), (dispatch_load_directory_callback), (dispatch_get_file_info_callback), (dispatch_xfer_callback), (close_callback), (handle_cancelled_open), (dispatch_job_callback), (gnome_vfs_job_new), (gnome_vfs_job_destroy), (gnome_vfs_job_finish_destroy), (gnome_vfs_op_destroy), (gnome_vfs_job_release_current_op), (gnome_vfs_job_release_notify_op), (gnome_vfs_job_prepare), (serve_channel_read), (execute_open), (execute_open_as_channel), (execute_create), (execute_create_as_channel), (execute_close), (execute_read), (execute_write), (execute_load_directory_not_sorted), (execute_load_directory_sorted), (execute_get_file_info), (execute_load_directory), (xfer_callback), (execute_xfer), (gnome_vfs_job_execute), (gnome_vfs_job_cancel): Changed to use the separate op structure so we can support starting a new operation before we have notified about the last one. Also added code to handle the case of an open that's cancelled after the file is opened, but before the callback has been called. * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_debug_get_thread_count): Added thread count interface for testing and debugging. * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_file_size_to_string), (gnome_vfs_escape_string), (gnome_vfs_ascii_hex_to_char), (gnome_vfs_unescape_string): Remove the "_ht" and HT from the names. * test/.cvsignore: * test/Makefile.am: * test/test-async-cancel.c: (get_free_file_descriptor_count), (get_used_file_descriptor_count), (wait_for_boolean), (wait_until_vfs_threads_gone), (wait_until_vfs_threads_gone_no_main), (wait_until_file_descriptors_gone), (test_failed), (get_file_info_callback), (first_get_file_info), (test_get_file_info), (file_open_callback), (file_close_callback), (file_read_callback), (test_open_read_cancel_close), (test_open_cancel), (main): Added a new test, test-async-cancel. This one is run as part of make check and it checks for all the problems I was trying to fix. * configure.in: Turned on -Werror for all directories. Also turned on extra warnings like in Nautilus. * libgnomevfs/gnome-vfs-parse-ls.c: (finduid), (findgid): Fixed warnings. * test/gnome-file-selection/gnome-file-selection.c: Fixed a warning. * libgnomevfs-corba/Makefile.am: * libgnomevfs-pthread/Makefile.am: * libgnomevfs/Makefile.am: * modules/Makefile.am: Took out now-unnecessary $(WERROR) lines. 2000-05-08 Ettore Perazzoli * libgnomevfs-corba/Makefile.am: Don't use `GNOME_CFLAGS'. 2000-05-08 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (system_time): Fix it to return a correct value. 2000-05-07 Maciej Stachowiak * libgnomevfs/gnome-vfs-backend.c (report_failure_get_file_info_callback), libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_empty_trash): Fixed some uninitialized variable warnings. 2000-05-07 Maciej Stachowiak * data/mime/gnome-vfs-mime: Fixed some of the broken mime types. 2000-05-07 Pavel Cisler * gnome-vfs/configure.in: * libgnomevfs/Makefile.am: * libgnomevfs-corba/Makefile.am: * libgnomevfs-pthread/Makefile.am: * modules/Makefile.am: * test/Makefile.am: Turn on a flag to treat warnings as errors. This would have caught the two bugs I fixed in my previous checkin. * libgnomevfs/gnome-vfs-mime-info.c: * libgnomevfs/gnome-vfs.h: * modules/extfs-method.c: * test/test-async-directory.c: Fix all warnings in gnome-vfs. 2000-05-07 Pavel Cisler * modules/translate-method.c: (tr_args_parse): Fixed the translate module that got broken recently. (b_strcasecmp->g_strcasecmp). This broke viewing man pages, etc. in Nautilus. * modules/translate-method.c: (tr_do_find_directory): Fixed an obvious bug in parameter passing that was triggering a warning. 2000-05-06 Darin Adler * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): Turned off the call to gnome_vfs_destroy, reintroducing the leak. Hopefully this makes things work again, but the leak is back until I get a real fix. * libgnomevfs/gnome-vfs-context.h: Fixed a typo in the macro that made it work only on variables named "context". 2000-05-05 Darin Adler * libgnomevfs-pthread/gnome-vfs-job.c: (gnome_vfs_job_destroy): Oops. One loose end. Gotta avoid a little race condition. 2000-05-05 Darin Adler Fixed the leak of a ton of objects and 4 file descriptors for every async. call. * libgnomevfs-pthread/gnome-vfs-job-slave.c: (thread_routine): Destroy jobs when we are done with them. * libgnomevfs-pthread/gnome-vfs-job.c: (dispatch_close_callback): Took out the bogus call to destroy the job in here. (dispatch_job_callback): Added logic to get rid of the callback when we are done with it. Since there's no remove call, we need to send an additional notify just to get the call to remove itself. (gnome_vfs_job_new): Initialize want_notify_ack which had a random value in the old code. Also initialize the new "done" flag which is used to kill the above callback. (gnome_vfs_job_destroy): Got rid of bogus code in here that acquired the access lock, since this is only called from code that already has it. Added a call to job_notify so the callback can release itself. Removed the call to cancel the slave since the job is destroyed by the slave. Uncommented the code to free the execution condition, since that was an artifact of the old bad way the code was structured. * libgnomevfs-pthread/gnome-vfs-job.h: Added the "done" field. * libgnomevfs/.cvsignore: Ignore gnome-vfs-gen-mimedb. 2000-05-05 John Sullivan * libgnomevfs/gnome-vfs-gen-mimedb: Removed from CVS. This is a generated file and I shouldn't have checked it in earlier. * libgnomevfs/gnome-vfs-mime-info.h, * libgnomevfs/gnome-vfs-mime-info.c: (gnome_vfs_mime_program_list), (gnome_vfs_mime_program_name_list), (gnome_vfs_mime_program_name_list_free): Removed these list-based functions with Miguel's blessing. They shouldn't have gotten into the old gnome-mime.c, and they're not needed for Nautilus or apparently anything else. * libgnomevfs/gnome-vfs-mime.h, * libgnomevfs/gnome-vfs-mime.c: Added #include to shut up warning. (gnome_vfs_mime_type_list), (gnome_vfs_mime_type_list_or_default), (gnome_vfs_mime_type_list_of_file), (gnome_vfs_mime_type_list_or_default_of_file): Removed these list-based functions with Miguel's blessing. They shouldn't have gotten into the old gnome-mime.c, and they're not needed for Nautilus or apparently anything else. 2000-05-03 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c (remove_file), (remove_directory), (gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_uri_internal): Make emptying Trash update the progress_info structure properly to allow the progress dialog to display the right numbers. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri_internal): Call progress with GNOME_VFS_XFER_PHASE_READYTOGO when emptying the Trash properly. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_private): Fix broken const. 2000-05-03 Dave Camp * modules/gconf-method.c (do_open): (do_create): (do_close): (do_open_directory): (do_close_directory): (do_read_directory): (do_get_file_info): Fixed prototypes to match the current gnome-vfs api. (MAKE_ABSOLUTE): Make sure there is no trailing '/', as gconf doesn't like them. (directory_handle_new): Create a mutex for accessing the pairs. (directory_handle_destroy): Free the pair mutex. (set_mime_type_value): Change the mime-types. (set_stat_info_dir): (set_stat_info_value): Reflect changes in gnome-vfs api. (do_get_file_info): (do_open_directory): Perform locking for gconf accesses, and reflect gconf api changes. (read_directory): Perform locking when accessing the pairs, and correctly free the gconf pairs. (vfs_module_init): Reflect gconf api changes, and initialize a mutex for locking gconf. (vfs_module_shutdown): Free the gconf mutex. 2000-05-03 Michael Meeks * libgnomevfs/gnome-vfs-file-info.c: s/strcasecmp/g_strcasecmp/ * modules/translate-method.c: s/strcasecmp/g_strcasecmp/, indent. 2000-05-02 John Sullivan * data/mime/gnome-vfs.mime: Added a bunch of MIME types that were in the 1.0 branch of gnome-libs but not in HEAD. * data/mime/gnome-vfs.keys: Added a few missing keys that people had run into, and put the icon for core files here so it doesn't need to be special-cased in Nautilus. 2000-05-02 John Sullivan * data/mime/gnome-vfs.keys: Added description for image/svg. 2000-05-02 Dave Camp * libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move_uri): * libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move): * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move_uri): * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move): Renamed parameters, as the 'new' parameter was causing problems with C++ compilers. 2000-05-02 John Sullivan * data/mime/gnome-vfs.mime: Alphabetized the mime types, and removed the duplicate entry for video/x-msvideo (avi) 2000-05-02 John Sullivan Another step towards getting all the MIME handling code into gnome-vfs and out of gnome-libs. This step gets the data files and mime-magic stuff into gnome-vfs. * data/mime/gnome-vfs-mime-magic, * data/mime/gnome-vfs.mime, * data/mime/gnome-vfs.keys: New data files, cloned from "mime-magic", "gnome.mime", and "nautilus.keys", which these ones obviate. * Makefile.am, * configure.in, * data/.cvsignore:, * data/Makefile.am, * data/mime/.cvsignore, * data/mime/Makefile.am: New files -- build system fu to get the new data files installed in the right places * gnome-vfs.spec.in: Added new data files to RPM. Not sure I got this part right, will ask Ramiro about it. * libgnomevfs/gnome-vfs-gen-mimedb, * libgnomevfs/gnome-vfs-gen-mimedb.c: New files, copied over from gnome-libs. These are used so a tool can be called to compile the mime-magic data into a database form. * libgnomevfs/Makefile.am: Build system fu to handle gnome-vfs-gen-mimedb. * libgnomevfs/gnome-vfs-mime-info.c (mime_info_load): Use gnome-vfs.keys and skip gnome.keys if found. * libgnomevfs/gnome-vfs-mime-magic.c: (gnome_vfs_mime_magic_db_load): Use gnome-vfs-mime-magic.dat instead of mime-magic.dat. (gnome_vfs_mime_type_from_magic): Use gnome-vfs-mime-magic instead of mime-magic. * libgnomevfs/gnome-vfs-mime.c (mime_load): Use gnome-vfs.mime and skip gnome.mime if found. 2000-05-01 John Sullivan First steps at the grand move-MIME-handling-code-to- gnome-vfs plan. * libgnomevfs/gnome-vfs-mime-info.c, * libgnomevfs/gnome-vfs-mime-info.h, * libgnomevfs/gnome-vfs-mime-magic.c, * libgnomevfs/gnome-vfs-mime-magic.h, * libgnomevfs/gnome-vfs-mime.c, * libgnomevfs/gnome-vfs-mime.h: New files, cloned from similarly-named ones in gnome-libs. I started with the HEAD versions of these files, which include some mime-list API that I'm not sure yet if we actually need (but is currently sitting there uncalled, so no biggie for now). All code should now start using these instead of the code in gnome-libs, which will eventually be obsoleted. * libgnomevfs/Makefile.am: Put these new files into the build. * modules/extfs-method.c (read_directory_list): * modules/file-method.c (set_mime_type): * modules/ftp-method.c (_ftpfs_read_directory), (fill_file_info): * modules/pipe-method.c (set_mime_type): * test/gnome-file-selection/gicon.c (gicon_get_icon_for_file_2): Update all callers in gnome-vfs to use the new gnome-vfs mime calls. 2000-05-01 Ian McKellar * modules/ftp-method.c: (ftpfs_chdir_internal): Assume path=="" is equivalent to path=="/". (ftpfs_open_directory): Check return value of retrieve_dir. FTP URIs should now work. Miguel says that ftp-method needs to be made thread-safe, but I'm not sure how to do this. 2000-04-26 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_empty_trash): Set up progress phase properly. This fixes a problem with the progress dialog getting instantiated twice. * libgnomevfs/gnome-vfs-xfer.c: (remove_directory): Properly initialize and return result. 2000-04-26 Darin Adler * gnome-vfs-private-ops.c: (gnome_vfs_open_uri_cancellable), (gnome_vfs_create_uri_cancellable), (gnome_vfs_close_cancellable), (gnome_vfs_read_cancellable), (gnome_vfs_write_cancellable), (gnome_vfs_seek_cancellable), (gnome_vfs_get_file_info_uri_cancellable), (gnome_vfs_get_file_info_from_handle_cancellable), (gnome_vfs_truncate_uri_cancellable), (gnome_vfs_truncate_handle_cancellable), (gnome_vfs_make_directory_for_uri_cancellable), (gnome_vfs_find_directory_cancellable), (gnome_vfs_remove_directory_from_uri_cancellable), (gnome_vfs_unlink_from_uri_cancellable), (gnome_vfs_move_uri_cancellable), (gnome_vfs_check_same_fs_uris_cancellable), (gnome_vfs_set_file_info_cancellable): Changed these all so they will handle the case where the are cancelled before they even begin. 2000-04-26 Darin Adler * libgnomevfs/gnome-vfs-job.c: (execute_get_file_info): Fixed bug that would result in a thread that never dies. 2000-04-26 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c Fix a crash caused by using the wrong call to free a uri_list. 2000-04-26 Pavel Cisler Added gnome_vfs_find_directory to return well known directories. For now only returns Trash. * libgnomevfs/gnome-vfs-find-directory.c: * libgnomevfs/gnome-vfs-find-directory.h: * libgnomevfs/gnome-vfs-private-ops.c: * libgnomevfs/gnome-vfs-private-ops.h: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/Makefile.am: (gnome_vfs_find_directory_cancellable), (gnome_vfs_find_directory): Added gnome_vfs_find_directory to return well known directories. For now only returns Trash. * modules/file-method.c: * modules/translate-method.c: (do_find_directory), (tr_do_find_directory): Add support for find_directory. * modules/bzip2-method.c: * modules/extfs-method.c: * modules/ftp-method.c: * modules/gconf-method.c: * modules/gzip-method.c: * modules/http-method.c: * modules/pipe-method.c: Add empty support for find_directory to the remaining methods. * libgnomevfs/gnome-vfs-xfer.c: (remove_directory), (empty_directory), (remove_file), (directory_add_items_and_size), (calc_items_and_size), (gnome_vfs_xfer_empty_trash), (gnome_vfs_xfer_uri_internal), (libgnomevfs-corba/gnome-vfs-async-ops.c), (libgnomevfs-pthread/gnome-vfs-async-ops.c): Add support for emptying Trash (or any other list of directories). 2000-04-26 Ian McKellar Fixed bug #489 (http://bugzilla.eazel.com/show_bug.cgi?id=489) * modules/http-method.c: checked for handle==NULL in http_file_handle_destroy and http_handle_close. 2000-04-25 Darin Adler Changed the async. get_file_info to do multiple files at a time. We don't even have a single-file version any more. We can always re-add it if it turns out to be useful. * idl/gnome-vfs-slave.idl: * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c (report_failure_get_file_info_callback), (report_failure_get_file_info), (gnome_vfs_async_get_file_info): * libgnomevfs/gnome-vfs-types.h: * libgnomevfs-corba/gnome-vfs-async-ops.c (gnome_vfs_uri_list_to_corba_uri_list), (corba_gnome_vfs_async_get_file_info): * libgnomevfs-corba/gnome-vfs-slave-notify.c (strdup_or_null), (impl_Notify_get_file_info): * libgnomevfs-corba/gnome-vfs-slave.c (impl_Request_get_file_info): * libgnomevfs-pthread/gnome-vfs-async-ops.c (pthread_gnome_vfs_async_get_file_info): * libgnomevfs-pthread/gnome-vfs-job.h: * libgnomevfs-pthread/gnome-vfs-job.c (dispatch_get_file_info_callback), (execute_get_file_info): Changed get_file_info to work for multiple files. * libgnomevfs/gnome-vfs-file-info.h: Removed gnome_vfs_file_info_destroy macro. * libgnomevfs/gnome-vfs-file-info.c: (gnome_vfs_file_info_list_ref), (gnome_vfs_file_info_list_unref), (gnome_vfs_file_info_list_copy), (gnome_vfs_file_info_list_free): Added utility functions for manipulating a GList that contains GnomeVFSFileInfo pointers in it. * libgnomevfs/gnome-vfs-uri.h: * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_list_ref), (gnome_vfs_uri_list_unref), (gnome_vfs_uri_list_copy), (gnome_vfs_uri_list_free): Added utility functions for manipulating a GList that contains GnomeVFSURI pointers in it. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_unescape_string): Fixed a warning. * libgnomevfs-corba/gnome-vfs-corba.c (gnome_vfs_corba_init): Fixed a warning. * libgnomevfs-corba/gnome-vfs-slave.c (init_corba): Fixed a warning (bad OAF init call). * modules/http-method.c (do_write): Fixed a warning. * libgnomevfs-corba/gnome-vfs-slave.c (xfer_progress_callback): Fixed a warning. * modules/extfs-method.c (free_directory_entries): Replaced a lingering gnome_vfs_file_info_destroy with a call to gnome_vfs_file_info_unref. (do_open_directory): Got rid of #warning which was redundant with a FIXME. (We'll be making all FIXME into bug reports.) * modules/ftp-method.c (ftpfs_open_socket), (retrieve_file), (ftpfs_open), (ftpfs_create): Turned #warning into FIXME. (We'll be making all FIXME into bug reports.) (_ftpfs_read_directory): Fixed a bad bug where the mime type was filled in without g_strdup. Potential memory trasher. * libgnomevfs-corba/gnome-vfs-slave.c (load_directory_not_sorted): Replaced a lingering gnome_vfs_file_info_destroy with a call to gnome_vfs_file_info_unref. * libgnomevfs/gnome-vfs-backend.c (gnome_vfs_async_load_directory): * libgnomevfs/gnome-vfs-directory-list.c: * libgnomevfs/gnome-vfs-directory-list.h: (gnome_vfs_directory_list_load), (gnome_vfs_directory_list_load_from_uri): * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-directory.c (open_from_uri), (open), (gnome_vfs_directory_open), (gnome_vfs_directory_open_from_uri) (directory_visit_internal), (gnome_vfs_directory_visit_uri), (gnome_vfs_directory_visit), (gnome_vfs_directory_visit_files_at_uri), (gnome_vfs_directory_visit_files): * libgnomevfs/gnome-vfs-ops.h: * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_get_file_info), (gnome_vfs_get_file_info_uri), (gnome_vfs_get_file_info_from_handle): * libgnomevfs/gnome-vfs-private-ops.h: * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_get_file_info_uri_cancellable): (gnome_vfs_get_file_info_from_handle_cancellable): * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-private-utils.c (gnome_vfs_string_list_from_string_array) (gnome_vfs_forkexec), (gnome_vfs_process_run_cancellable): * libgnomevfs/gnome-vfs-process.h: * libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new): * libgnomevfs-corba/gnome-vfs-async-ops.c (corba_gnome_vfs_async_load_directory), (corba_gnome_vfs_async_load_directory_uri): * libgnomevfs-corba/gnome-vfs-slave-launch.c (gnome_vfs_slave_launch): * modules/extfs-method.c (do_open): * libgnomevfs-pthread/gnome-vfs-async-ops.c (copy_meta_keys), (pthread_gnome_vfs_async_get_file_info): Added const as needed. * libgnomevfs/gnome-vfs-cancellation.c: * libgnomevfs/gnome-vfs-context.c: * libgnomevfs/gnome-vfs-directory-filter.c: * libgnomevfs/gnome-vfs-directory-list.c: * libgnomevfs/gnome-vfs-directory.c: * libgnomevfs/gnome-vfs-directory.h: * libgnomevfs/gnome-vfs-file-info.h: * libgnomevfs/gnome-vfs-handle.c: * libgnomevfs/gnome-vfs-handle.h: * libgnomevfs/gnome-vfs-inet-connection.c: * libgnomevfs/gnome-vfs-iobuf.c: * libgnomevfs/gnome-vfs-messages.c: * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-private.h: * libgnomevfs/gnome-vfs-regexp-filter.c: * libgnomevfs/gnome-vfs-shellpattern-filter.c: * libgnomevfs/gnome-vfs-types.h: * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs-pthread/gnome-vfs-job.h: Got rid of leading underscores in many places where they were unnecessary and violate the ANSI C standard. There are still more. 2000-04-25 Ettore Perazzoli * libgnomevfs-corba/Makefile.am: Use `OAF_CFLAGS' too to make sure we get the right `CFLAGS'. 2000-04-20 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (move_items): Move the call_progress call after where the file was moved, that way the file is in guaranteed to be in it's final destination when the callback kicks in for it. 2000-04-19 Pavel Cisler * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-file-info.h: (gnome_vfs_file_info_matches): Added a new call. * libgnomevfs/gnome-vfs-xfer.c: Added a bunch of call_progress calls to ensure we can follow all the file system changes during a copy. 2000-04-19 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Catalan 2000-04-18 Pavel Cisler Fixed two bugs Darin ran into. * libgnomevfs/gnome-vfs-xfer.c: (call_progress_with_current_names), (handle_error), (handle_overwrite): Made error/overwrite dialogs properly show the file that was being copied while an error ocurred. * libgnomevfs/gnome-vfs-xfer.c: (handle_name_conflicts): Add a way for the progress callback to find out if a single or multiple items ended up conflicting. That way the progress callback can determine if to add a Replace All option or not. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private): Added a workaround for a bug that happens when the caller of the routine tries to handle a returned error by calling the progress callback -- the problem is that that at that point the progress could have already cleaned up after itself knwong that the copy operation is over and could have deleted it's user data. * libgnomevfs/gnome-vfs-xfer.c: * test/test-xfer.c: Fixed warnings. 2000-04-18 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (handle_error): Made the error return value get set to GNOME_VFS_OK after Skip is selected -- This caused gnome_vfs_xfer_private to return an unexpected error that execute_xfer didn't know how to deal with. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_xfer): Properly set up the dummy progress_info and progress_state structs used for reporting unexpexted error results returned by gnome_vfs_xfer_private. 2000-04-18 Pavel Cisler Fixed a bug in error reporting that I introduced in my previous checkin. * libgnomevfs/gnome-vfs-xfer.c: (handle_error): Set the progress_info->status value to the correct error value. (move_items): Fix a bug in a retry case - the result value needs to get reset to GNOME_VFS_OK after Retry is selected. 2000-04-17 Maciej Stachowiak Work with either OAF or GOAD: * libgnomevfs-corba/gnome-vfs-corba.c, libgnomevfs-corba/gnome-vfs-salve.c: initialize appropriately for GOAD or OAF. * libgnomevfs-corba/gnome-vfs-async-ops.c, libgnomevfs-corba/gnome-vfs-slave-notify.c, libgnomevfs-corba/gnome-vfs-slave-process.c: Remove gratuitous include of * libgnomevfs-corba/Makefile.am: Link against the appropriate choice of OAF or GNORBA. * configure.in, acconfig.h: Add --enable-oaf option and if used, check for OAF. 2000-04-17 Pavel Cisler Made it possible for the gnome-vfs async copy engine to have two kinds of progress callbacks - one that gets called every hundred milliseconds or when user response is required and one that gets called for every single copy operation primitive. The latter is not called in the context of the master process and is much lighterweight to invoke. Nautilus will be using this callback mechanism to queue up notification records during a copy. * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: * libgnomevfs-corba/gnome-vfs-async-ops.c: * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-pthread/gnome-vfs-job.h: (gnome_vfs_xfer_async), (corba_gnome_vfs_async_xfer), (pthread_gnome_vfs_async_xfer): Add optional sync callback and parameters. Pass the new parameters around. * libgnomevfs/gnome-vfs-private-ops.h: * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_private): Add new private common copy engine entry point. * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-xfer.c: Add new GnomeVFSProgressCallbackState that contains the two callback, their user data, the timing logic for calling the update callback often. (handle_error), (remove_file), (remove_directory), (copy_file_data), (xfer_open_source), (xfer_create_target), (gnome_vfs_xfer_uri_internal), (gnome_vfs_xfer_uri), (gnome_vfs_xfer), (gnome_vfs_xfer_private) Rework xfer calls to pass around the new GnomeVFSProgressCallbackState structure. * libgnomevfs/gnome-vfs-private-types.h: * libgnomevfs/gnome-vfs-xfer.c: (call_progress), (progress_set_source_target_uris), (progress_set_source_target_names), (init_progress), (call_progress_uri), (call_progress_often), (call_progress_with_uris_often): Reworked progress calls to use GnomeVFSProgressCallbackState. * libgnomevfs/gnome-vfs-types.h * libgnomevfs-corba/gnome-vfs-slave-notify.c: * libgnomevfs-corba/gnome-vfs-slave.c: * libgnomevfs-pthread/gnome-vfs-async-ops.c: * test/test-xfer.c: Add new enum values so that progress callbacks can detect whether a copy, move or remove operations is being performed. Got rid of the GNOME_VFS_XFER_PHASE_XFERRING enum value. * gnome-vfs/libgnomevfs/gnome-vfs-xfer.h Got rid of an obsolete comment. 2000-04-13 Darin Adler * libgnomevfs/gnome-vfs-async-ops.h: * libgnomevfs/gnome-vfs-backend.c: Changed the async. operations so they report their errors through the callbacks all the time instead of sometimes returning an error code immediately. This is more convenient for callers, although it's a bit more complex to implement. * libgnomevfs-pthread/gnome-vfs-async-ops.c (pthread_gnome_vfs_async_load_directory): * test/test-async-directory.c (main): * test/test-async.c (main): * test/test-channel.c (main): Fix callers so they no longer expect a result code. * .cvsignore: Another generated file to ignore. 2000-04-12 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c.c: (gnome_vfs_xfer_uri_internal), (count_items_and_size): Make the move operation properly preflight by only adding up the items to move nonrecursively. 2000-04-11 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c.c: (gnome_vfs_xfer_uri), (gnome_vfs_xfer_uri_internal), (handle_name_conflicts): Fixed problems with using "Skip" during a move/copy conflict. The first problem was that a skip flag wasn't being checked properly. The second, bigger problem, was that the handle_name_conflicts had no good way of telling the rest of the copy engine that a given file was skipped. Now it gets a copy of the source/ targe item lists and optionally removes the items the user chose to skip. 2000-04-11 John Sullivan * modules/file-method.c: (do_get_file_info): statbuf was passed to set_mime_type uninitialized. Fixed by passing &statbuf to get_stat_info, which was obviously the original intention. 2000-04-11 Darin Adler * libgnomevfs/gnome-vfs-backend.c (gnome_vfs_async_create_uri): Added another missing async. cover routine. 2000-04-06 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: * libgnomevfs/gnome-vfs-types.h: Fixed up the copy engine. Added an option to create duplicate items with the help of the progress_callback. Worked around a problem where calling progress_callback in async mode was causing context switches each time and degreaded performance. For now made it only call the callback every 200 ms for cases where response is not important. This will get reworked eventually. (progress_set_source_target_names), (progress_set_source_target_uris), (call_progress), (call_progress_uri), (call_progress_often), (call_progress_with_uris_often): Added a bunch of convenience calls for calling the progress callback. (gnome_vfs_visit_list): Convenience call to iterate a base uri and a list of name, similar to the visit directory calls. (count_items_and_size): New preflight call - calculates the sum and total size of copied files. Made all preflight operations call progress_info and be interruptible. (handle_name_conflicts): New preflight call - finds out if there are conflicts in the target destination and optionally prompts the user to remove them. (create_directory), (copy_directory), (gnome_vfs_xfer_uri): Reworked the copy engine to use a recursive directory copy instead one that first creates a flat list. This way the copy will be able to deal with directories being moved from under the copy operation properly. (remove_file), (remove_directory): Call progress callback to make them interruptible, make remove_directory optionally recursive. * libgnomevfs-pthread/gnome-vfs-job.c: (xfer_callback):Fixed a bug where notify.progress_info was not being initialized. * libgnomevfs-pthread/gnome-vfs-job.c: * libgnomevfs-corba/gnome-vfs-slave.c: Renamed the GNOME_VFS_XFER_PHASE_UNKNOWN to GNOME_VFS_XFER_PHASE_INITIAL (the phase is always known and an initial phase was needed). 2000-04-06 Ian McKellar * modules/http-method.c: Added code to recognise stupid web servers that return an invalid reply to PROPFIND requests. 2000-04-05 Darin Adler * libgnomevfs/gnome-vfs-xfer.c (fast_move): Fixed an infinite loop. (It even had a comment that said it was an infinite loop.) * libgnomevfs/gnome-vfs-seekable.c (init_seek): Got rid of \n in a g_warning. 2000-04-05 Ian McKellar * modules/http-method.c: Added a create method, and fixed the write/close method so that Nautilus can successfully store metafiles, and so writing to WebDAV repositories will work in the future. 2000-04-04 Andy Hertzfeld * libgnomevfs/gnome-vfs-uri.c: fixed critical assertion that Nautilus was encountering using non-filesystem uris by making sure the uri was reference before calling unref. 2000-04-04 Ian McKellar * modules/http-method.c: Fixed WebDAV directory code to remove leading "/" from filenames. 2000-03-29 Darin Adler * libgnomevfs/gnome-vfs-directory.c (open_from_uri): Use CHECK_IF_SUPPORTED macro to be consistent with the rest of the file. * libgnomevfs/gnome-vfs-private-ops.c: (gnome_vfs_open_uri_cancellable), (gnome_vfs_create_uri_cancellable), (gnome_vfs_set_file_info_cancellable): Added missing checks for NULL in the module. The rest of the operations had checks for NULL. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_is_local): Check for a NULL is_local pointer. Unlike the other operations, for this one it's illegal to be NULL since there is no way to return the NOTSUPPORTED error code. * test/.cvsignore: Missing file. 2000-03-28 Pavel Cisler * libgnomevfs/gnome-vfs-xfer.c: (move_file): initialize "skip" properly. * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_get_parent): strip trailing slashes. Handle multiple slashes properly. * libgnomevfs-pthread/gnome-vfs-job.c: (execute_xfer): pass the proper job structure. * libgnomevfs-pthread/gnome-vfs-async-ops.c: (pthread_gnome_vfs_async_xfer): pass the proper job type selector. 2000-03-28 John Sullivan * gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Check for empty-string host name as well as NULL. 2000-03-28 John Sullivan * gnome-vfs-uri.h, * gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Made this function return the host name (if any) when there's no path. Formerly it just returned "/" in that case. (gnome_vfs_uri_extract_short_path_name): New function, really a renaming of the old gnome_vfs_uri_extract_short_name. There are those who argue that this should be renamed extract_basename and the current get_basename (which doesn't handle trailing path separators according to XPG spec) should be abolished. 2000-03-25 Yukihiro Nakai * configure.in: Added Japanese translation from Akira Tagoh. 2000-03-20 Pablo Saratxaga * configure.in,po/lt.po: Added Lithuanian language file 2000-03-13 Elliot Lee * modules/Makefile.am: Finish the help-method move. Move module-shared stuff to libgnomevfs. * libgnomevfs/Makefile.am: Install our "private" headers for use by modules. * modules/http-method.c: #if 0 debug messages. * libgnomevfs/gnome-vfs-uri.c: Fix split_toplevel_uri for URIs with a hostname but no path. * modules/Makefile.am: Move help-method over to nautilus. 2000-03-10 Ian McKellar * modules/http-method.c Added made do_get_file_info* understand WebDAV servers. Also, made WebDAV collections return the mime-type special/webdav-directory. 2000-03-10 Pavel Machek * TODO: added pointers to other similar projects 2000-03-09 Jonathan Blandford * libgnomevfs/gnome-vfs-types.h: Add a urn field to GnomeVFSToplevelURI. This will let us add VFS modules that simply change a totally virtual name to a actual URL. * modules/help-method.c: New module to allow for "help:*" URL's. * modules/help-method.h: * modules/Makefile.am: added help module. * libgnomevfs/gnome-vfs-method.c (gnome_vfs_transform_get): Allow Transformations. Clean up the code a little. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): changed to allow for translations. Also, code cleaned up a lot. 2000-03-09 Ian McKellar * modules/http-method.c Added (open|read|close)_directory support for WebDAV servers. * configure.in, modules/Makefile.am Added checks for gnome-xml as are required for the WebDAV directory code. 2000-03-07 Ian McKellar * modules/http-method.c Added PUT support (i.e. WebDAV or HTTP/1.1 file upload). * test/test-sync-write.c Added a test program which writes from stdin to a URI. * test/test-sync.c Patched test-sync.c to handle larger files. 2000-03-06 Ettore Perazzoli * libgnomevfs/gnome-vfs-private-ops.c (gnome_vfs_get_file_info_uri_cancellable): If the `get_file_info' method is not implemented, return `GNOME_VFS_ERROR_NOTSUPPORTED' instead of crashing. * configure.in: Generate `gnome-vfs.spec' from `gnome-vfs.spec.in'. * gnome-vfs.spec.in: New file. From Ross Golder . 2000-03-03 Maciej Stachowiak * libgnomevfs/gnome-vfs-utils.c, libgnomevfs/gnome-vfs-utils.h (gnome_vfs_escape_string, gnome_vfs_unescape_string): New functions to escape and unescape URI strings; patch from Gene Z. Ragan . 2000-03-02 Maciej Stachowiak * modules/http-method.c (get_file_info_from_http_handle): Don't pretend we know the file size when we don't. 2000-02-24 Ettore Perazzoli * test/test-directory.c (print_list): Deal with a NULL MIME type. Patch from Marcus Nilsson : * modules/file-method.c (struct _DirectoryHandle): Made `current_entry' a pointer to a `struct dirent *' instead of just a `struct dirent'. (read_directory): Updated accordingly. (directory_handle_new): Allocate `current_entry' with `g_malloc()', allocating extra space as required by `readdir_r()'. (directory_handle_destroy): Free `current_entry'. 2000-02-22 Ettore Perazzoli * Version 0.1 is released. 2000-02-21 Ettore Perazzoli * libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_check): If the cancellation is NULL, just return FALSE. (gnome_vfs_cancellation_ack): If the cancellation is NULL, just return. * test/test-xfer.c (xfer_progress_callback): Use `GNOME_VFS_SIZE_FORMAT_STR' to match the types. * test/test-async-directory.c (main) [!WITH_CORBA]: Do not define `ev', so that we don't get annoying compiler warnings. * test/test-xfer.c (xfer_progress_callback): Add casts. * test/test-directory-visit.c (directory_visit_callback): Add cast. * test/test-directory.c (print_list): Add cast. * test/test-async-directory.c (main): Removed unused variable. * modules/translate-method.c (tr_do_read_directory): Added cast to placate the compiler. * modules/file-method.c (do_get_file_info_from_handle): s/gnome_vfs_extract_short_name/gnome_vfs_uri_extract_short_name/. `gnome_vfs_extract_short_name' does not even exist! * modules/extfs-method.c: Add missing NULL pointer in initialization of `method'. * libgnomevfs-corba/gnome-vfs-slave.c (serve_channel_read): Use `GNOMEVFSFileSize' instead of `gulong'. (serve_channel_write): Likewise. * modules/Makefile.am (libhttp_la_LIBADD): Do not link the HTTP module with `-lghttp' (we don't actually use it). 2000-02-21 Jonathan Blandford * libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_check): change g_return_if_fail to be a g_return_val_if_fail. I don't know if the g_ function is right here, but until that gets straightened out, make it compile. 2000-02-21 Elliot Lee * libgnomevfs/gnome-vfs-configuration.c: "Home made check" is supposed to be there. g_return_if_fail inappropriate, change reverted. 2000-02-20 Mathieu Lacage * libgnomevfs/gnome-vfs-configuration.c: plug memory leak in module_path_element_free intorduced by someone who forgot the arg element. Change a home-made check in g_return_if_fail. * libgnomevfs/gnome-vfs-cancelation.c: Change home-made check in g_return_if_fail. 2000-02-18 Maciej Stachowiak * modules/file-method.c (do_get_file_info, do_get_file_info_from_handle): Use gnome_vfs_extract_short_name on the URI rather than g_basename on the filename to get the basename. g_basename is broken. 2000-02-17 Jonathan Blandford * modules/default-modules.conf (ghelp): add ghelp to the list of known domains. 2000-02-16 Elliot Lee * test/test-async.c: Exit after receiving read(), no matter what result is received. * modules/pipe-method.c: Check fread() result for being > 0, not !EOF * libgnomevfs/gnome-vfs-uri.c: Don't add leading / * libgnomevfs/gnome-vfs-backend.c: Add assert to ensure initialization. * modules/default-methods.conf: Pass filename to gnome-man2html2 instead of redirecting it as input. 2000-02-15 John Sullivan * libgnomevfs/gnome-vfs-configuration.c: (gnome_vfs_configuration_get_module_path): Just clarified an error message. 2000-02-14 Maciej Stachowiak * libgnomevfs/gnome-vfs-types.h: Added a GnomeVFSFIleInfoFields enumeration, and added a field of this type (valid_fields) to GnomeVFSFileInfo, so that cases where get_file_info returns incomplete information can be handled gracefully. * modules/extfs-method.c, modules/file-method.c, modules/ftp-method.c, modules/http-method.c, modules/module-shared.c, modules/pipe-method.c, modules/translate-method.c: Set the valid_fields 2000-02-09 Elliot Lee * libgnomevfs/gnome-vfs-messages.c, libgnomevfs/gnome-vfs-method.c, libgnomevfs/gnome-vfs-process.c, libgnomevfs-corba/gnome-vfs-async-ops.c, libgnomevfs-corba/gnome-vfs-slave-launch.c, libgnomevfs-corba/gnome-vfs-slave-notify.c, libgnomevfs-corba/gnome-vfs-slave-process.c, modules/ftp-method.c: Remove excess debugging output. * libgnomevfs/gnome-vfs-handle.c, libgnomevfs/gnome-vfs-handle.h, libgnomevfs/gnome-vfs-ops.c, libgnomevfs/gnome-vfs-ops.h, libgnomevfs/gnome-vfs-private-ops.c, libgnomevfs/gnome-vfs-private-ops.h, libgnomevfs/gnome-vfs-private-types.h, libgnomevfs/gnome-vfs-seekable.c: Add gnome_vfs_truncate and gnome_vfs_truncate_handle. * modules/bzip2-method.c, modules/extfs-method.c, modules/file-method.c, modules/ftp-method.c, modules/gconf-method.c, modules/gzip-method.c, modules/http-method.c, modules/pipe-method.c, modules/translate-method.c: Implement truncate (or don't). * libgnomevfs-corba/gnome-vfs-corba.c: putenv("GNOME_DISABLE_CRASH_DIALOG=1") so we don't get stupid crash dialogs. * libgnomevfs-pthread/gnome-vfs-async-ops.c: Fix obvious get_file_info bug. 2000-02-07 Elliot Lee * libgnomevfs-corba/gnome-vfs-slave-notify.c: When memcpy'ing over a new GnomeVFSFileInfo, reset the refcount to 1 so that we can unref it later. * libgnomevfs-corba/gnome-vfs-slave.c: Fix stupid cut & paste bug that was using the wrong loop variable. Also unref the file_info instead of destroying it. 2000-02-02 Elliot Lee * idl/gnome-vfs-slave.idl, libgnomevfs/gnome-vfs-async-ops.h, libgnomevfs/gnome-vfs-backend.c, libgnomevfs/gnome-vfs-types.h, libgnomevfs-corba/*.[ch], libgnomevfs-pthread/*.[ch]: Implement asynchronous get_file_info operation. Compiles but is untested. * libgnomevfs/gnome-vfs-method.c: Pass method_name and config options to the module. * libgnomevfs/gnome-vfs-private-types.h: Pass GnomeVFSMethod pointer as first arg to all method implementation routines. * libgnomevfs/*.c, modules/*.c: Reflect above changes. * libgnomevfs/gnome-vfs-configuration.[ch]: Parse and return module arguments from config file. Fix miscellaneous bugs. * modules/translate-method.c, modules/Makefile.am: Implement a 'URI translation' module that just translates URIs according to configuration options, then passes them on to the real module. 2000-02-01 Darin Adler * libgnomevfs-corba/gnome-vfs-slave-notify.c: Make more-easily-understood g_warning messages for cases where the wrong operation is in progress. * libgnomevfs/gnome-vfs-uri.c: Use defines instead of hard-coded '/' characters consistently. 2000-01-28 Elliot Lee * libgnomevfs/gnome-vfs-configuration.c: Support reading multiple configuration files from multiple directories. * libgnomevfs/gnome-vfs-{configuration,private}.h: Move #defines from gnome-vfs-configuration.h to gnome-vfs-private.h * libgnomevfs/Makefile.am: Add defines of sysconfdir and libdir to cflags, remove prefix define. * modules/Makefile.am: Rename modules.conf to default-modules.conf, and install into $(sysconfdir)/vfs/modules instead. 2000-01-27 Elliot Lee * modules/pipe-method.[ch]: Implement a stupid one-cent trick pipe method - produces output of a pipe. 2000-01-27 John Sullivan Moved, renamed, and made public GnomeVFSFileInfo-comparing routines. * libgnomevfs/gnome-vfs-file-info.c: * libgnomevfs/gnome-vfs-file-info.h: (gnome_vfs_file_info_compare_for_sort), (gnome_vfs_file_info_compare_for_sort_reversed): New functions, moved & renamed from static functions in gnome-vfs-directory-list.c. Changed third parameter from constgpointer to const GnomeVFSDirectorySortRule * for clarity. * libgnomevfs/gnome-vfs-directory-list.c: (compare_for_sort), (compare_for_sort_reversed): Removed. (gnome_vfs_directory_list_sort): Updated to reflect name change. 2000-01-18 Ettore Perazzoli * libgnomevfs/gnome-vfs-directory.c (directory_visit_internal): Unref instead of destroying the file info. (directory_visit_internal): Likewise. (directory_visit_internal): Likewise. (directory_visit_internal): Likewise. (gnome_vfs_directory_visit_files_at_uri): Likewise. * libgnomevfs/gnome-vfs-directory-list.c (remove_entry): Unref instead of destroying the file info. (gnome_vfs_directory_list_destroy): Likewise. (load_from_handle): Likewise. 2000-01-18 John Sullivan * libgnomevfs/gnome-vfs-directory-list.c: (compare_for_sort): Made sorting by mime type handle NULL mime types (e.g. directories). 2000-01-18 Federico Mena Quintero * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_destroy): Removed. It does not make sense to have this function, as we have proper reference counting of URIs. (gnome_vfs_uri_new): Use gnome_vfs_uri_unref() instead of destroy() for the new_uri. (gnome_vfs_uri_unref): Added a sanity check for the reference count. 2000-01-18 Elliot Lee * configure.in: We want ORBit, not gnorba. 2000-01-16 John Sullivan Split utils into public and private, and moved file-size-as-string method into new public utils. * libgnomevfs/gnome-vfs-private-utils.h: * libgnomevfs/gnome-vfs-private-utils.c: New files, containing most of what was in gnome-vfs-utils.h/c. * libgnomevfs/gnome-vfs-utils.h: * libgnomevfs/gnome-vfs-utils.c: Moved everything from here to gnome-vfs-private-utils.h/c, except... (gnome_vfs_size_as_string): Renamed to gnome_vfs_file_size_as_string, changed parameter from ulong to GnomeVFSFileSize, replaced implementation with similar but slightly cleaner code written by Havoc in nautilus/src/file-manager/fm-directory-view.c * Makefile.am: Moved gnome-vfs-utils.h to public headers, added gnome-vfs-private-utils.h/.c to the build. * modules/http-method.c: (create_handle), (do_read): Updated all callers of gnome_vfs_size_as_string to reflect new name. 2000-01-16 Federico Mena Quintero * libgnomevfs-pthread/Makefile.am: Do not put $(VFS_LIBS) in the library LDADD. 2000-01-14 Darin Adler * libgnomevfs/gnome-vfs-uri.h: libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_extract_short_name): Added a new function to get the short form of a uri. This is the same as the XPG version of basename, and the basename tool, but g_basename, gnome_vfs_uri_get_basename, and gnome_vfs_uri_extract_dirname use a different definition, where the basename of a uri that points to a directory with a trailing '/' is NULL. The short_name variant is useful when you want to know the name of a directory even though the uri might end in '/'. 2000-01-11 Darin Adler * libgnomevfs-corba/gnome-vfs-slave-notify: (impl_Notify_dying): Changed the messages to use g_message instead of g_warning, since they are normal. 2000-01-11 Ettore Perazzoli * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_get_basename): Do not strdup. 2000-01-06 Darin Adler * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_open_uri): Implemented this missing routine. 2000-01-04 John Sullivan * libgnomevfs/gnome-vfs-uri.c: (gnome-vfs-uri-new): Removed g_return_val_if_fail() for empty string case, since rest of routine handles empty string identically to any other bogus string. * libgnomevfs/gnome-vfs-ops.c: (gnome_vfs_get_file_info): Avoid calling gnome_vfs_uri_unref on NULL uri, to avoid g_return_if_fail. 2000-01-02 Tomasz K³oczko * configure.in, po/pl.po: added Polish translation (based on GNOME PL translation resources). 1999-12-30 Miguel de Icaza * libgnomevfs-corba/gnome-vfs-async-ops.c (corba_gnome_vfs_async_cancel): Removed C++ comment. 1999-12-29 Elliot Lee * acconfig.h, libgnomevfs/gnome-vfs-backend.[ch], libgnomevfs/gnome-vfs-init.[ch], libgnomevfs-{pthread,corba}/*: Load the corba & pthread backends via gmodule instead of linking them in. * modules/*-method.c: Fix warnings. 1999-12-29 Jesus Bravo Alvarez * configure.in: (ALL_LINGUAS) Added Galician (gl). 1999-12-28 Martin Norbäck * configure.in: Added sv to ALL_LINGUAS. 1999-12-28 Yuri Syrota * configure.in: Added "uk" to ALL_LINGUAS. 1999-12-27 Matthias Warkus * configure.in: Added de to ALL_LINGUAS. 1999-12-21 Elliot Lee * modules/ftp-method.c: Fix get_file_info so MIME type gets filled in. * modules/http-method.c: Don't pass the full URL, since this violates the HTTP spec. * libgnomevfs/gnome-vfs-uri.c: Properly implement handling of all the hide_options. * modules/http-method.c: Don't treat redirections as an error. This is not quite the "right" solution, since redirections are similar to symlinks, and this change doesn't check for the GNOME_VFS_FILE_INFO_FOLLOW_SYMLINKS flag. It's also possible that the MIME type returned from a redirection is different than the MIME type of the target. 1999-12-18 Havoc Pennington * libgnomevfs/gnome-vfs-file-info.c (gnome_vfs_file_info_new): init refcount (gnome_vfs_file_info_init): init refcount (gnome_vfs_file_info_destroy): remove in favor of unref(), with compatibility #define (gnome_vfs_file_info_unref): new function (gnome_vfs_file_info_ref): new function * libgnomevfs/gnome-vfs-types.h: Add refcount to GnomeVFSFileInfo. The refcount won't be used if the object is on the stack of course. 1999-12-16 Maciej Stachowiak * libgnomevfs-corba/gnome-vfs-async-ops.c, libgnomevfs-corba/gnome-vfs-slave-process.c : Avoid leaving around gnome-vfs-slave processes. * libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Avoid reinitializing the method table (nautilus was causing this to happen). 1999-12-16 Ettore Perazzoli * libgnomevfs-corba/gnome-vfs-slave-notify.c (impl_Notify_load_directory): Actually set the list in the `GnomeVFSAsyncDirectoryOpInfo' struct when creating it from scratch. 1999-12-15 Elliot Lee * libgnomevfs*/*.c: Fix warnings. * configure.in: Add --with-default-backend=... 1999-12-15 Darin Adler * libgnomevfs/gnome-vfs-method.c: (load_module): Changed "Loading module" message to a g_message, since we want to ignore it, and we don't want to ignore g_warnings. * libgnomevfs/gnome-vfs-process.c: (wake_up): Changed "Process died" message to a g_message, since we want to ignore it, and we don't want to ignore g_warnings. (gnome_vfs_process_new): Changed "Process died" message to a g_message, since we want to ignore it, and we don't want to ignore g_warnings. 1999-12-15 Elliot Lee * libgnomevfs/gnome-vfs-ops.c: Sanity check for an invalid URI. * libgnomevfs/gnome-vfs-ops.[ch]: Use char instead of gchar. * libgnomevfs-corba/gnome-vfs-slave-process.c: Use g_message instead of the incorrect g_warning. 1999-12-15 Darin Adler * libgnomevfs/gnome-vfs-async-ops.h * libgnomevfs/gnome-vfs-context.c * libgnomevfs/gnome-vfs-directory-list.c * libgnomevfs/gnome-vfs-directory-list.h * libgnomevfs/gnome-vfs-directory.c * libgnomevfs/gnome-vfs-directory.h * libgnomevfs/gnome-vfs-messages.c * libgnomevfs/gnome-vfs-ops.c * libgnomevfs/gnome-vfs-ops.h * libgnomevfs/gnome-vfs-private-ops.c * libgnomevfs/gnome-vfs-private-ops.h * libgnomevfs/gnome-vfs-utils.c * libgnomevfs/gnome-vfs-utils.h * libgnomevfs-corba/gnome-vfs-async-ops.c * libgnomevfs-corba/gnome-vfs-slave-notify.c * libgnomevfs-pthread/gnome-vfs-async-ops.c * test/test-seek.c Made meta_keys[] take const char* instead of char*. Fixed some warnings. 1999-12-14 Darin Adler * .cvsignore: Ignore more generated files. * libgnomevfs-corba/.cvsignore: Ignore more generated files. * modules/extfs/.cvsignore: Ignore more generated files. * test/.cvsignore: Ignore more generated files. 1999-12-14 Elliot Lee * libgnomevfs-corba/gnome-vfs-async-ops.c: Implement gnome_vfs_async_load_directory_uri in terms of gnome_vfs_async_load_directory by converting the GnomeVFSURI to a string. Also, fill in the 'op_info' in gnome_vfs_async_load_directory. 1999-12-09 Havoc Pennington * modules/gconf-method.c (vfs_module_init): Some updates, the GConf stuff is updated but it still doesn't match the latest virtual table that modules are expected to have. * modules/Makefile.am (libgconf_la_LIBADD): add GTK_LIBS (INCLUDES): add GCONF_CFLAGS * configure.in (VFS_LIBS): use the located $GCONF_CONFIG instead of just "gconf-config", look for GTK to use the GConfClient GtkObject. 1999-12-08 Ramiro Estrugo * modules/extfs/Makefile.am take out non existance extfs.ini from EXTRA_DIST to unbreak 'make dist' 1999-12-07 Havoc Pennington * libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read): handle cancellation during the read, and then check for it before we write, and after each write. * libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Return immediately if the number of bytes to read is 0. * libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read): Rewrite this to use nonblocking writes; allows us to keep reading while the main thread is blocked. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_size_to_string): fix operator precedence problem * libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_write): Take a context argument, and then use gnome_vfs_write_cancellable() so status messages can trickle up. The messages are coming from the slave thread; so the status message callback setup is supposed to be thread safe. The one in Explorer is indeed. (serve_channel_read): Parallel change, add the context object. 1999-12-06 Havoc Pennington * libgnomevfs-corba/gnome-vfs-slave-process.c (gnome_vfs_slave_process_new): Creates a context object. * libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_remove_status_callback): declare status callback add/remove functions. * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_add_status_callback): implement status callback ops * libgnomevfs-corba/gnome-vfs-async-ops.c (gnome_vfs_async_remove_status_callback): implement status callback ops * libgnomevfs/gnome-vfs-messages.c: Add ID numbers for callback removal * modules/http-method.c (create_handle): Emit message about # of bytes to retrieve. (do_close): emit message saying "closing" (do_read): emit message about bytes read. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_size_to_string): New function, returns a string representing a size in bytes * libgnomevfs-pthread/gnome-vfs-job.h: replace cancellation with context * modules/gzip-method.c: replace cancellation with context * modules/bzip2-method.c: replace cancellation with context * modules/ftp-method.c: replace cancellation with context * modules/http-method.c: replace cancellation with context * modules/file-method.c: replace cancellation with context * modules/extfs-method.c: replace cancellation with context 1999-12-03 Havoc Pennington * libgnomevfs/gnome-vfs-private-ops.h: replace cancellation with context * libgnomevfs/gnome-vfs-handle.h: replace cancellation with context * libgnomevfs/gnome-vfs-private-ops.c: replace cancellation with context * libgnomevfs/gnome-vfs-seekable.c: replace cancellation with context * libgnomevfs/gnome-vfs-directory.c: Replace cancellation with context * libgnomevfs/gnome-vfs-private.h: add gnome-vfs-context.h, include too * libgnomevfs/gnome-vfs.h: add gnome-vfs-messages.h * libgnomevfs/gnome-vfs-private-types.h: typedef the GnomeVFSContext type; change GnomeVFSCancellation to GnomeVFSContext for all functions in the GnomeVFSMethod vtable * libgnomevfs/gnome-vfs-context.c, libgnomevfs/gnome-vfs-context.h: Proposed API for a context object to be passed to VFS module functions. 1999-12-04 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_cancel): Added comment about the need for freeing the handle. 1999-12-02 Havoc Pennington * libgnomevfs/gnome-vfs-messages.c: all my filter predicates were backward 1999-12-02 Havoc Pennington * libgnomevfs/gnome-vfs-messages.h, libgnomevfs/gnome-vfs-messages.c: New file, a simple data type to manage status-message callback lists. Untested, not in the build. 1999-11-29 Elliot Lee * libgnomevfs-corba/*.c: Don't __alloc() buffers for temporary usage only. * libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_cancel): Now guaranteed signal-safe. * libgnomevfs/gnome-vfs-method.c: If init_path_list() has already been called, return TRUE to indicate success. * libgnomevfs/gnome-vfs-result.c: I declare the errno->GnomeVFSResult translation function "complete enough". 1999-11-24 Elliot Lee * modules/Makefile.am: Try using $(GLIB_LIBS) to pick up the -L thingie for -lghttp * Makefile.am: Remove 'intl' dir from build. 1999-11-19 Kjartan Maraas * configure.in: Added "no" to ALL_LINGUAS. 1999-11-18 Ettore Perazzoli * modules/file-method.c: Removed the static function prototypes and moved the method struct to the end of the file so that they are not needed anymore. (rename_helper): New helper function, cut & paste from `do_move()'. (do_move): Use it. (do_set_file_info): New function, implementing the `set_file_info' method. (do_make_directory): Use `MAKE_ABSOLUTE' to make sure the path we use is absolute. (do_move): Likewise. (do_unlink): Likewise. (do_check_same_fs): Likewise. (directory_handle_new): Likewise. (do_get_file_info): Likewise. (do_create): Likewise (forgot to use `file_name' instead of `uri->text' here). * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_check_same_fs): Check that `same_fs_return' is not NULL. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_set_file_info_uri): New function. (gnome_vfs_set_file_info): New function. * libgnomevfs/gnome-vfs-ops.h: Prototypes here. * libgnomevfs/gnome-vfs-private-ops.c (gnome_vfs_set_file_info_cancellable): New function. * libgnomevfs/gnome-vfs-private-ops.h: Prototype here. * libgnomevfs/gnome-vfs-private-types.h: New function typedef `GnomeVFSMethodSetFileInfo'. New member `set_file_info' in `GnomeVFSMethod'. * libgnomevfs/gnome-vfs-types.h: New enum `GnomeVFSSetFileInfoMask'. * libgnomevfs/gnome-vfs-types.h: Renamed `GNOME_VFS_FILE_INFO_NOOPTION' to `GNOME_VFS_FILE_INFO_DEFAULT'. * libgnomevfs/gnome-vfs-xfer.c (create_xfer_file_list): Updated accordingly. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_extract_dirname): New function. 1999-11-12 Ettore Perazzoli * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_append_path): Make sure `uri_string' is always freed. * libgnomevfs/gnome-vfs-configuration.c (parse_file): Free the line buffer on exit. 1999-11-08 Ettore Perazzoli * libgnomevfs/gnome-vfs-xfer.c (xfer_create_target): Set `retry' to `FALSE' at the start of the `while' loop. (xfer_open_source): Likewise. (xfer_file): Likewise. (copy_directory): Likewise. (move_file): Likewise. 1999-10-29 Elliot Lee * test/test-somethingorother.c: Make it use the file info flags instead of ->is_symlink. * libgnomevfs/Makefile.am: Put our build tree on the include path before installed stuff. 1999-10-23 Ettore Perazzoli * libgnomevfs/gnome-vfs-directory-filter.c (gnome_vfs_directory_filter_apply): If `filter' is NULL, just return `TRUE'. * libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Only read as much bytes as the stream gives us; not more. * modules/ftp-method.c (_ftpfs_read_directory): Set the "local" flag in the info to `FALSE'. (fill_file_info): Likewise. * modules/file-method.c (get_stat_info): Set the "local" flag to `TRUE'. (get_stat_info_from_handle): Likewise. * modules/extfs-method.c (read_directory_list): Set the "local" flag in the info object to FALSE. * modules/module-shared.c (gnome_vfs_stat_to_file_info): Do not set the "local" flag anymore. * modules/ftp-method.c (print_vfs_message): Made static. (insert_dots): Use `gnome_vfs_parse_ls_lga()' instead of `vfs_parse_ls_lga()', which does not exist anymore. (retrieve_dir): Likewise. * libgnomevfs/gnome-vfs-directory.c (directory_visit_internal): Updated to match the `GnomeVFSFileInfo' changes. * modules/module-shared.c (gnome_vfs_stat_to_file_info): Likewise. * modules/file-method.c (get_stat_info): Likewise. * modules/http-method.c (get_file_info_from_http_handle): Likewise. * modules/ftp-method.c (fill_file_info): Likewise. (_ftpfs_read_directory): Likewise. * test/gnome-file-selection/gnome-file-selection.c (populate_callback): Likewise. * test/test-directory.c (print_list): Likewise. * test/test-directory-visit.c (directory_visit_callback): Likewise. * test/test-info.c (print_file_info): Likewise. * libgnomevfs/gnome-vfs-file-info.h (GNOME_VFS_FILE_INFO_SYMLINK): New macro. (GNOME_VFS_FILE_INFO_LOCAL): New macro. (GNOME_VFS_FILE_INFO_SUID): New macro. (GNOME_VFS_FILE_INFO_SGID): New macro. (GNOME_VFS_FILE_INFO_STICKY): New macro. (GNOME_VFS_FILE_INFO_SET_SYMLINK): New macro. (GNOME_VFS_FILE_INFO_SET_LOCAL): New macro. (GNOME_VFS_FILE_INFO_SET_SUID): New macro. (GNOME_VFS_FILE_INFO_SET_SGID): New macro. (GNOME_VFS_FILE_INFO_SET_STICKY): New macro. * libgnomevfs/gnome-vfs-types.h: New enum `GnomeVFSFileFlags'. (struct _GnomeVFSFileInfo): Replaced the various gboolean 1-bit flags with a single `GnomeVFSFileFlags' member called `flags'. * test/test-info.c (main): Follow links. * modules/file-method.c (read_link): Zero-terminate the returned string. * modules/module-shared.c (gnome_vfs_stat_to_file_info): Unconditionally set the type to `GNOME_VFS_FILE_TYPE_UNKNOWN' if all else fails, even if `file_info' refers to a symlink. * modules/ftp-method.c: #include , "gnome-vfs.h" and "gnome-vfs-private.h". * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_get_file_info): If the `get_file_info' function is not implemented, return `GNOME_VFS_ERROR_NOTSUPPORTED'. * test/test-info.c: New program for testing the `gnome_vfs_get_file_info()' API call. * libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Argh. Don't put more than `bytes' bytes in `buffer'! 1999-10-22 Ettore Perazzoli * libgnomevfs/gnome-vfs-iobuf.c (gnome_vfs_iobuf_read): Do not use `bytes_read' if NULL. (gnome_vfs_iobuf_write): Likewise with `bytes_written'. (flush): Flush output, not input. :-P (refill_input_buffer): Changed to return a `GnomeVFSResult'. Return `GNOME_VFS_ERROR_EOF' at EOF. (gnome_vfs_iobuf_read): Updated accordingly. * libgnomevfs/gnome-vfs-method.c (load_module): Don't check for the `create' function anymore. * libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-inet-connection.h". * libgnomevfs/gnome-vfs-inet-connection.c: New file implementing Internet connections. * libgnomevfs/gnome-vfs-inet-connection.h: Corresponding header file. * libgnomevfs/gnome-vfs-private-types.h: New opaque typedef `GnomeVFSInetConnection'. * modules/Makefile.am: Compile the HTTP method again. * modules/http-method.c: New re-implementation from scratch, with great help from the GNU Wget sources. * modules/http-method.h: Corresponding header file. * libgnomevfs/gnome-vfs-utils.c: #include . (gnome_vfs_atotm): New function, from GNU Wget. * libgnomevfs/gnome-vfs-utils.h (gnome_vfs_atotm): Prototype here. 1999-10-21 Ettore Perazzoli * libgnomevfs/gnome-vfs-iobuf.c (refill_input_buffer): New helper function. (gnome_vfs_iobuf_read): Changed to use it. (gnome_vfs_iobuf_peekc): New function. * libgnomevfs/gnome-vfs-private-types.h: New opaque `GnomeVFSIOBuf' typedef for the struct defined in `gnome-vfs-iobuf.c'. * libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-iobuf.h". * libgnomevfs/gnome-vfs-iobuf.h: New header file for `gnome-vfs-iobuf.c'. * libgnomevfs/gnome-vfs-iobuf.c: New file implementing buffered I/O on top of low-level Unix file descriptors. 1999-10-20 Ettore Perazzoli * modules/extfs-method.c (match): Apply filter. (vfs_module_shutdown): Close all the handles. (do_close): Remove the handle from the handle list. * README: Added some info about the `vfs-run' wrapper. * configure.in: Subst `@TOP_BUILDDIR@' with the path to the top building directory. Build `$(top_builddir)/test/vfs-run' from `$(top_srcdir)/test/vfs-run.in'. * test/vfs-run.in (GNOME_VFS_MODULE_PATH): New file. * libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Set the effective UID/GID to the real UID/GID when loading the module, and restore them afterwards. This should prevent exploits to setuid/setgid applications by using `GNOME_VFS_MODULE_PATH'. (module_get_sane_handle): Renamed to `load_module'. Added debugging message displaying the complete name of the module that is being loaded. * libgnomevfs/gnome-vfs-method.c: New variable `module_path_list'. (init_hash_table): New helper function. (gnome_vfs_method_init): Use it. (init_path_list): New helper function to initialize `module_path_list' through the `GNOME_VFS_MODULE_PATH' environment variable. (install_path_list): New helper function used by `init_path_list'. (gnome_vfs_method_init): Use it. (load_module_in_path_list): New function to search for a module in the path list. (gnome_vfs_method_get): Use it. (module_get_sane_handle): Made const-safe. 1999-10-19 Ettore Perazzoli * modules/extfs-method.c (read_directory_list): New parameter `info_options'. If the `GNOME_VFS_FILE_INFO_GETMIMETYPE' bit is set, set the MIME type in the file information struct according to the file name. (do_open_directory): Updated accordingly. * modules/ftp-method.c: Do not #include "parse.h" anymore. * libgnomevfs/gnome-vfs-cancellation.c [HAVE_CONFIG_H]: #include . * modules/Makefile.am (CPPFLAGS): #define `_GNU_SOURCE'. * libgnomevfs-pthread/Makefile.am (CPPFLAGS): Likewise. * libgnomevfs-corba/Makefile.am (CPPFLAGS): Likewise. * libgnomevfs/Makefile.am (CPPFLAGS): Likewise. * modules/extfs-method.c: Implemented directory reading. * modules/extfs-method.c (get_script_path): New helper function. (do_open): Use it. (ERROR_IF_NOT_LOCAL): New macro. (do_open): Use it. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_hequal): New function. (gnome_vfs_uri_hash): New function. * libgnomevfs/gnome-vfs-uri.h (gnome_vfs_uri_hash): Prototypes here. * modules/ftp-method.c (resolve_symlink_with_ls_options): Use `gnome_vfs_parse_ls_lga()' instead of `vfs_parse_ls_lga()', which does not exist anymore. * modules/parse.c: Removed. * modules/parse.h: Removed. * libgnomevfs/gnome-vfs-parse-ls.c: Removed global variables `columns', `column_ptr'. (vfs_split_text): New parameters `columns', `column_ptr'. (gnome_vfs_vfs_parse_ls_lga): Updated accordingly. (is_num): Get a string as the single parameter. (gnome_vfs_vfs_parse_ls_lga): Updated accordingly. (vfs_parse_filedate): New parameter `columns'. (gnome_vfs_vfs_parse_ls_lga): Updated accordingly. * configure.in: Check for `getdelim' and use our version if not available. * libgnomevfs/Makefile.am: Added `getdelim' to `EXTRA_DIST'. * libgnomevfs/gnome-vfs-private.h [! HAVE_GETDELIM]: Declare prototype for `getdelim()'. * libgnomevfs/getdelim.c: New file, implementing `getdelim()' for non-GNU systems. 1999-10-18 Ettore Perazzoli * libgnomevfs/gnome-vfs-parse-ls.c: New file, derived from former `modules/parse.c'. Reindented; made all the helper functions static; glibified a bit. * libgnomevfs/gnome-vfs-parse-ls.h: Corresponding header file. 1999-10-17 Ettore Perazzoli * modules/extfs-method.c (do_open): If the return value from the script is nonzero, return `GNOME_VFS_ERROR_NOTFOUND'. Check that the parent URI is accessed through the `file' method. Completed parameters passed to the extfs script. * modules/modules.conf: Added entries for `extfs'. * modules/extfs/README: New file. * modules/extfs/a: New file. * modules/extfs/deb.in: New file. * modules/extfs/hp48: New file. * modules/extfs/mailfs: New file. * modules/extfs/patchfs: New file. * modules/extfs/rpm: New file. * modules/extfs/rpms: New file. * modules/extfs/trpm: New file. * modules/extfs/ar.in: New file. * modules/extfs/arj: New file. * modules/extfs/cpio.in: New file. * modules/extfs/lha.in: New file. * modules/extfs/rar.in: New file. * modules/extfs/zip.in: New file. * modules/extfs/zoo.in: New file. * configure.in: Generate scripts from the `.in' files. * configure.in: Check for `awk' using `AC_PROG_AWK'. * modules/extfs: New subdirectory. * modules/extfs/Makefile.am: New file. * modules/Makefile.am: Updated accordingly. * modules/extfs-method.c: Replaced member `fd' in `ExtfsHandle' with `vfs_handle' (i.e. we use a VFS handle instead of a UNIX file descriptor). #include . (VFS_HANDLE): New helper macro. (extfs_handle_close): Updated accordingly. Return value changed from `void' to `GnomeVFSResult', so that we can return the result of the `close' operation. Also, remove `local_path'. (do_open): Updated accordingly. Also updated for the new version of `gnome_vfs_create_temp()'. (do_close): Implementated (`close' operation). (do_read): Implemented (`read' operation). (do_tell): Implemented (`tell') operation. (do_write): Return `GNOME_VFS_ERROR_READONLYFS' instead of `GNOME_VFS_ERROR_NOTSUPPORTED'. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_create_temp): Changed so that it returns a GnomeVFSHandle instead of a plain Unix file descriptor. Abort if creating the file fails with something different from a "file exists" error. 1999-10-15 Ettore Perazzoli * modules/Makefile.am (CPPFLAGS): #define `PREFIX'. * libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new): Use `gnome_fs_forkexec()'. * libgnomevfs/gnome-vfs-process.c (get_max_fds): Removed. (shut_down_file_descriptors): Removed. * libgnomevfs/gnome-vfs-utils.c: Moved here. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_process_run_cancellable): New function. (gnome_vfs_forkexec): New function, cut & paste from `gnome_vfs_process_new()'. (gnome_vfs_create_temp): New function. * libgnomevfs/gnome-vfs-utils.h: Prototypes here. * libgnomevfs/gnome-vfs-process.c: #include "gnome-vfs.h" and "gnome-vfs-private.h", instead of just "gnome-vfs-process.h". * libgnomevfs/gnome-vfs-process.h (gnome_vfs_process_run_cancellable): Prototype. * libgnomevfs/gnome-vfs-process.h: New enum `GnomeVFSProcessRunResult'. 1999-10-14 Ettore Perazzoli * modules/extfs-method.c: New file, implementing MC-style extfs. * modules/extfs-method.h: Corresponding header. * modules/Makefile.am: Compile it in `libextfs.so'. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Report progress for the operation of deleting the source directories. Free progress info at each iteration. * libgnomevfs/gnome-vfs-types.h: New GnomeVFSXferPhase value `GNOME_VFS_XFER_PHASE_DELETESOURCE'. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Report `GNOME_VFS_XFER_PHASE_FILECOMPLETED' for the last file too. (remove_directory): New helper function. (gnome_vfs_xfer_uri): Use it. * libgnomevfs/gnome-vfs-xfer.c (fast_move): New function, implementing fast moving through `gnome_vfs_move()'. (gnome_vfs_xfer_uri): Use it if we are transferring files between two directories on the same file system and we are requested to remove the sources. 1999-10-13 Ettore Perazzoli * libgnomevfs/gnome-vfs-xfer.c (init_progress): New helper function. (gnome_vfs_xfer_uri): Use it. Leak fix: free progress info if the progress callback returns `FALSE' in the `READYTOGO' or `XFERRING' phases. * modules/Makefile.am: Add `modules.conf' to `EXTRA_DIST'. * libgnomevfs/gnome-vfs-cancellation.c (gnome_vfs_cancellation_check): Do not complain if `cancellation' is NULL. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_move_uri): New function. (gnome_vfs_move): New function. (gnome_vfs_check_same_fs_uris): New function. (gnome_vfs_check_same_fs): New function. * libgnomevfs/gnome-vfs-ops.h (gnome_vfs_move): Prototypes here. * libgnomevfs/gnome-vfs-private-ops.c (gnome_vfs_move_uri_cancellable): New function. (gnome_vfs_check_same_fs_uris_cancellable): New function. * libgnomevfs/gnome-vfs-private-ops.h (gnome_vfs_move_uri_cancellable): Prototypes here. * modules/file-method.c (do_check_same_fs): New function, installed as the `check_same_fs' op implementation. * libgnomevfs/gnome-vfs-private-types.h: New type `GnomeVFSCheckSameFSFunc'. New member `check_same_fs' in `GnomeVFSMethod'. * modules/file-method.c (do_move): New function, implementing the `move' operation. * libgnomevfs/gnome-vfs-private-types.h: `GnomeVFSMethodRenameFunc' removed; replaced by `GnomeVFSMethodMoveFunc' with different parameters. `rename' member in `struct _GnomeVFSMethod' removed; replaced by `move'. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_get_basename): New function. * libgnomevfs/gnome-vfs-uri.h: Prototype here. * test/test-xfer.c: New file, implementing a test for the xfer functionality. * test/Makefile.am: Compile it as `test-xfer'. * test/test-copy.c: Removed. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Honour `GNOME_VFS_XFER_REMOVESOURCE'. This needs to be optimized for the "files are in the same file system" case of course. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open): Doc'ed. (gnome_vfs_open_uri): Doc'ed. (gnome_vfs_create): Doc'ed. (gnome_vfs_create_uri): Doc'ed. (gnome_vfs_close): Doc'ed. (gnome_vfs_read): Doc'ed. (gnome_vfs_write): Doc'ed. (gnome_vfs_seek): Doc'ed. (gnome_vfs_tell): Doc'ed. (gnome_vfs_get_file_info): Doc'ed. (gnome_vfs_get_file_info_uri): Doc'ed. (gnome_vfs_get_file_info_from_handle): Doc'ed. (gnome_vfs_make_directory_for_uri): Doc'ed. (gnome_vfs_make_directory): Doc'ed. (gnome_vfs_remove_directory_from_uri): Doc'ed. (gnome_vfs_remove_directory): Doc'ed. (gnome_vfs_unlink_from_uri): Doc'ed. (gnome_vfs_unlink): Doc'ed. * test/test-directory.c (main): Local variable `args' made const. * test/test-directory.c (filter_list): `#if 0'ed out just to make the compiler happy. * libgnomevfs/gnome-vfs-result.c (gnome_vfs_result_from_errno): Re-indented to make sorting easier. Convert `EBUSY', `ENOTEMPTY', `EROFS', `EMLINK', `EXDEV', `EFAULT', `ELOOP', as well, using the new GnomeVFSResult values. * libgnomevfs/gnome-vfs-types.h: New errors `GNOME_VFS_ERROR_DIRECTORYBUSY', `GNOME_VFS_ERROR_DIRECTORYNOTEMPTY', `GNOME_VFS_ERROR_TOOMANYLINKS', `GNOME_VFS_ERROR_READONLYFS', `GNOME_VFS_ERROR_NOTSAMEFS', `GNOME_VFS_ERROR_NAMETOOLONG'. * libgnomevfs/gnome-vfs-result.c: Added corresponding string descriptions. 1999-10-12 Ettore Perazzoli * modules/file-method.c (do_open): When getting `EINTR', do not restart the operation if a cancellation is pending. (do_create): Likewise. (do_close): Likewise. (do_read): Likewise. * libgnomevfs-pthread/gnome-vfs-job.c (dispatch_job_callback): Slightly made cleaner. * TODO: Updated. * libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Use cancellable version of the primitive. (execute_open_as_channel): Likewise. (execute_create): Likewise. (execute_create_as_channel): Likewise. (execute_close): Likewise (execute_read): Likewise. * libgnomevfs/gnome-vfs-configuration.c [HAVE_CONFIG_H]: #include . * libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-private-ops.h". * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_uri): Made a simple wrapper for the cancellable version in `gnome-vfs-private-ops.c'. (gnome_vfs_create_uri): Likewise. (gnome_vfs_close): Likewise. (gnome_vfs_read): Likewise. (gnome_vfs_write): Likewise. (gnome_vfs_seek): Likewise. (gnome_vfs_get_file_info_uri): Likewise. (gnome_vfs_get_file_info_from_handle): Likewise. (gnome_vfs_make_directory_for_uri): Likewise. (gnome_vfs_remove_directory_from_uri): Likewise. (gnome_vfs_unlink_from_uri): Likewise. * libgnomevfs/gnome-vfs-private-ops.h: New file. * libgnomevfs/gnome-vfs-private-ops.c: New file. * libgnomevfs/gnome-vfs-result.c: New error description for `GNOME_VFS_ERROR_CANCELLED'. * libgnomevfs/gnome-vfs-types.h: New error `GNOME_VFS_ERROR_CANCELLED'. * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_cancel): Use the new `cancellation' member instead of `cancelled'. (dispatch_job_callback): Likewise. (gnome_vfs_job_new): Initialize `cancellation'. (gnome_vfs_job_destroy): Destroy it. (execute_open): Do not check `cancelled' anymore. (execute_create): Likewise. (execute_load_directory_not_sorted): Likewise. (execute_load_directory_sorted): Likewise. (xfer_callback): Likewise. * libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob): Removed member `cancelled'. Replaced by new member `cancellation', of type `GnomeVFSCancellation'. * modules/bzip2-method.c: Updated all the method implementation functions to accept the `cancellation' parameter. It is not honoured yet though. * modules/file-method.c: Likewise. * modules/gzip-method.c: Likewise. * modules/http-method.c: Likewise. * libgnomevfs/gnome-vfs-seekable.c: Updated to accept the `cancellation' parameter. It does not honour it yet though. (read_file): Pass `NULL' as the `cancellation' parameter for `read'. (write_file): Likewise for `write'. (do_close): Likewise for `close'. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_uri): Pass `NULL' as the `cancellation' parameter to the `open' implementation. (gnome_vfs_open_uri): Likewise. (gnome_vfs_create_uri): Pass `NULL' as the `cancellation' parameter to the `create' implementation. (gnome_vfs_close): Pass `NULL' as the `cancellation' parameter to `gnome_vfs_handle_do_close()'. (gnome_vfs_read): Likewise with `gnome_vfs_handle_do_read()'. (gnome_vfs_write): Likewise with `gnome_vfs_handle_do_write()'. (gnome_vfs_seek): Likewise with `gnome_vfs_handle_do_seek()'. (gnome_vfs_get_file_info): Likewise with the `get_file_info' implementation. (gnome_vfs_get_file_info_uri): Likewise. (gnome_vfs_get_file_info_from_handle): Likewise with `gnome_vfs_handle_do_get_file_info()'. (gnome_vfs_make_directory_for_uri): Likewise with the `make_directory' implementation. (gnome_vfs_make_directory): Likewise. (gnome_vfs_remove_directory_from_uri): Likewise with the `remove_directory'implementation. (gnome_vfs_unlink_from_uri): Likewise for `unlink'. * libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_do_close): New parameter `cancellation'. (gnome_vfs_handle_do_read): Likewise. (gnome_vfs_handle_do_write): Likewise. (gnome_vfs_handle_do_seek): Likewise. (gnome_vfs_handle_do_get_file_info): Likewise. * libgnomevfs/gnome-vfs-handle.h: Updated prototypes accordingly. * libgnomevfs/gnome-vfs-directory.c (open): New parameter `cancellation'. (open_from_uri): Likewise. Pass it to the `open_directory' implementation. (gnome_vfs_directory_open): Updated accordingly. (gnome_vfs_directory_open_from_uri): Update accordingly. (gnome_vfs_directory_read_next): Pass `NULL' as the `cancellation' parameter in the call to the `read_directory' implementation. (gnome_vfs_directory_close): Pass `NULL' as the `cancellation' parameter in the call to the `close_directory' implementation. * libgnomevfs/gnome-vfs-private-types.h: New opaque typedef `GnomeVFSCancellation'. Added new `cancellation' parameter to all the method implementation typedefs. * libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-cancellation.h". * libgnomevfs/gnome-vfs-cancellation.c: New file, implementing cancellation for the VFS method implementations. * libgnomevfs/gnome-vfs-cancellation.h: New file. * modules/modules.conf: Added `ugzip' for compatibility with the Midnight Commander's VFS. * libgnomevfs/gnome-vfs-configuration.c (parse_line): Set `method_start' again after saving a method name. 1999-10-11 Ettore Perazzoli * test/test-sync.c (main): Abort reporting an error if `gnome_vfs_uri_new()' returns NULL. * modules/modules.conf: New file: configuration for the current VFS modules. * modules/Makefile.am: Install it in the `modulesdir'. * libgnomevfs/gnome-vfs-method.c (gnome_vfs_method_get): Use `gnome_vfs_configuration_get_module_path()' to retrieve the module name. This also fixes a memory leak introduced by Michael's commit of 1999-08-31. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Initialize the configuration system by calling `gnome_vfs_configuration_init()'. * libgnomevfs/gnome-vfs-constants.h: New constant `GNOME_VFS_MODULE_CFGFILE', `GNOME_VFS_MODULE_DIR'. * libgnomevfs/gnome-vfs-private.h: #include "gnome-vfs-configuration.h". * libgnomevfs/gnome-vfs-configuration.c: New file. * libgnomevfs/gnome-vfs-configuration.h: New file. 1999-10-10 Ettore Perazzoli * libgnomevfs/gnome-vfs-file-info.c: Doc'ed. * libgnomevfs/gnome-vfs-directory.c: Doc'ed. * libgnomevfs/gnome-vfs-directory-list.c: Doc'ed. * libgnomevfs/gnome-vfs-directory-filter.c: Doc'ed. * doc/writing-modules.sgml: New file. 1999-10-08 Ettore Perazzoli * modules/Makefile.am (CPPFLAGS): #define `_POSIX_PTHREAD_SEMANTICS'. * libgnomevfs/Makefile.am (CPPFLAGS): Likewise. * libgnomevfs-corba/gnome-vfs-slave-notify.c: #define `SUN_LEN()' if not already #defined. * libgnomevfs-corba/gnome-vfs-slave.c (setup_and_serve_channel): Change `socklen_t' into `int'. (setup_and_serve_channel): Use `[AP]F_UNIX' instead of `[AP]F_LOCAL' if the latter are not available. * libgnomevfs-corba/gnome-vfs-slave-process.c: #include first, afterwards as pointed out by Michael. * libgnomevfs-corba/gnome-vfs-slave-notify.c: Likewise. 1999-10-07 Ettore Perazzoli * libgnomevfs/gnome-vfs-process.c: If the `GNOME_VFS_PROCESS_SETSID' option is set, call `setsid()' after forking and calling the user-specified function. * libgnomevfs/gnome-vfs-private.h: Do not #include "gnome-vfs-process.h". * libgnomevfs/gnome-vfs.h: #include "gnome-vfs-process.h". This makes the GnomeVFSProcess stuff public, thus making my work on the file manager slightly easier. It should not be public in the final version though; instead, I would like to have something like this in glib or gnome-libs. * libgnomevfs/Makefile.am: Install `gnome-vfs-process.h'. * libgnomevfs/gnome-vfs-process.h (gnome_vfs_process_new): Update prototype. * libgnomevfs/gnome-vfs-process.c (gnome_vfs_process_new): New parameter `options' instead of `use_search_path' and `close_file_descriptors'. * libgnomevfs-corba/gnome-vfs-slave-launch.c (gnome_vfs_slave_launch): Updated accordingly. * libgnomevfs/gnome-vfs-process.h: New enum `GnomeVFSProcessOptions'. * libgnomevfs/gnome-vfs-types.h: New value `GNOME_VFS_URI_HIDE_TOPLEVEL_METHOD' in `GnomeVFSURIHideOptions'. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_to_string): Honour it. 1999-10-07 Miguel de Icaza * modules/ftp-method.c (linear_read): Close first to comply to RFC959. 1999-10-04 Ettore Perazzoli * modules/module-shared.c (gnome_vfs_set_meta_for_list): Use `gnome_vfs_set_meta()' instead of `set_meta()'. * libgnomevfs/gnome-vfs-seekable.c (init_seek): Removed local variable `txt_uri'. * libgnomevfs-corba/gnome-vfs-slave.c (load_directory_sorted): Updated to use `gnome_vfs_directory_list_load()' instead of `gnome_vfs_directory_load()'. * libgnomevfs-pthread/gnome-vfs-job.c (execute_load_directory_sorted): Likewise. * test/test-directory.c (main): Likewise. * libgnomevfs/gnome-vfs-directory-list.c (gnome_vfs_directory_list_load): New version of `gnome_vfs_directory_load', for consistency. (gnome_vfs_directory_list_load_from_uri): Likewise for `gnome_vfs_directory_load_from_uri'. * libgnomevfs/gnome-vfs-directory.c (gnome_vfs_directory_load): Removed. (gnome_vfs_directory_load_from_uri): Removed. (gnome_vfs_uri_append_path): If the original URI is empty, return the URI from the new path. 1999-09-30 Ettore Perazzoli * libgnomevfs/gnome-vfs-uri.c (my_streq): New function. (compare_elements): Use it instead of `strcmp' so that it works even with NULL fields. (gnome_vfs_uri_equal): Likewise. 1999-09-29 Rodrigo Stulzer Lopes * configure.in: add pt_BR to ALL_LINGUAS 1999-09-29 Ettore Perazzoli * modules/ftp-method.c (MUTEX_LOCK): New macro to lock a mutex. Defined to empty if `G_THREADS_ENABLED' is not defined. (MUTEX_UNLOCK): New macro to unlock a mutex. Defined to empty if `G_THREADS_ENABLED' is not defined. (ftpfs_connection_new) [G_THREADS_ENABLED]: Initialize `access_mutex'. (ftpfs_connection_unref): Perform locking. Free the lock if refcounting is zero. * modules/ftp-method.h [G_THREADS_ENABLED]: New member `access_lock' in `ftpfs_connection_t'. * modules/ftp-method.c: Define a static lock for `connections_hash'. (ftpfs_connection_destroy): Removed. (ftpfs_connection_unref): Perform locking on `connections_hash'. (lookup_conn): Likewise. (ftpfs_connection_new): Likewise. * modules/ftp-method.c (ftpfs_open_directory): Use the raw URI path, without using `g_dirname()'. 1999-09-28 Ettore Perazzoli * modules/bzip2-method.c: Re-indented in GNOME style. * configure.in: Added `--enable-gconf' option to explicitly enable the GConf module backend; if not specified, GConf support is not compiled even if GConf is available. For now, the GConf API is too much of a moving target to rely on it by default. * modules/ftp-method.c (ftpfs_get_file_info): `#if 0'ed completely to get it to compile. Always return `GNOME_VFS_ERROR_NOTSUPPORTED'. 1999-09-27 Miguel de Icaza * modules/module-shared.c (gnome_vfs_set_meta_for_list, gnome_vfs_set_meta, gnome_vfs_stat_to_file_info, gnome_vfs_mime_type_from_mode): moved here some code from the file backend that can be reused by the ftp backend. * modules/ftp-method.c: directory listings work. Still some work is required. 1999-09-27 Cody Russell * modules/bzip2-method.c: At Ettore's request, reformatted the code to look more like the rest of the code. Function return values are now on the preceeding line of the function name. 1999-09-27 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (dispatch_open_callback): Unref before calling the callback, not after that. (dispatch_create_callback): Likewise. (dispatch_open_as_channel_callback): Likewise. * modules/bzip2-method.c (do_open): Removed unused variables. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_equal): New function. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): Renamed to `gnome_vfs_open_uri'. (gnome_vfs_create_for_uri): Renamed to `gnome_vfs_create_uri'. (gnome_vfs_get_file_info_from_uri): Renamed to `gnome_vfs_get_file_info_uri'. * libgnomevfs-pthread/gnome-vfs-job.c (execute_open_as_channel): Close and unref channels. (execute_create_as_channel): Likewise. (gnome_vfs_job_destroy): Use `g_io_channel_close()' instead of `close()'. (execute_open_as_channel): Wait for ack from the notification. (execute_create_as_channel): Likewise. * libgnomevfs/gnome-vfs-init.c (gnome_vfs_init): Ignore SIGPIPE. 1999-09-26 Dave Camp * modules/gconf-method.c (do_get_file_info_from_handle): New method. (vfs_module_init): Don't pass the "application" parameter to g_conf_init(). 11999-09-25 Cody Russell * modules/bzip2-method.c: Removed MAKE_ABSOLUTE(). 1999-09-25 Ettore Perazzoli * libgnomevfs/gnome-vfs-constants.h (GNOME_VFS_OFFSET_FORMAT_STR) [!HAVE_GINT64]: Change "L" to "l". * modules/bzip2-method.c (struct _Bzip2MethodHandle): Removed `modification_time' member. (bzip2_method_handle_new): Removed `modification_time' parameter. (do_open): Do not pass it as an uninitialized value nor zero anymore. Open the file using the parent URI correctly. (bzip2_read_open): Removed bogus static prototype. (do_open): Write mode `#if 0'ed out as it wouldn't work anyway. * modules/Makefile.am: Enable compilation of the bzip2 module. 1999-09-25 Kjartan Maraas * configure.in: Added da to ALL_LINGUAS. 1999-09-18 Cody Russell * modules/bzip2-method.[ch]: Added. Note that this method is not currently finished, and so I've disabled building of it for now. * modules/Makefile.am: Added Bzip2, but it's currently commented out. * configure.in: Fixed a typo. "gconf will not be build" s/build/built. 1999-09-18 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Initialize the `cancelled' member to `FALSE'. (gnome_vfs_job_cancel): Set `cancelled' to `TRUE'. (dispatch_job_callback): If the job was cancelled, do not dispatch the callback. (execute_open): If the job was cancelled, return FALSE so that the thread dies. (execute_create): Likewise. (execute_load_directory_not_sorted): Interrupt if job is cancelled. Also, close the directory handle on exit. (execute_load_directory_sorted): Likewise. (xfer_callback): If the job is cancelled, return FALSE. * libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob): New member `cancelled'. 1999-09-18 Michael Meeks * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_has_parent): remove unused 'p' * modules/ftp-method.c, gzip-method.c, gconf-method.c: pad method structure. * modules/http-method.c: Add comment explaining the coding stall. * modules/file-method.c (do_unlink): implement. * libgnomevfs/gnome-vfs-seekable.c (do_close, init_seek): do unlink of tmp file. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_unlink), (gnome_vfs_unlink_for_uri): Added. * libgnomevfs/gnome-vfs-ops.h: add unlinks. * libgnomevfs/gnome-vfs-private-types.h: Add unlink, update truncate. 1999-09-17 Ettore Perazzoli * libgnomevfs/gnome-vfs-constants.h: #include "gnome-vfs-types.h" and . #define `GNOME_VFS_SIZE_FORMAT_STR' and `GNOME_VFS_OFFSET_FORMAT_STR' according to the size of `GnomeVFSFileSize' and `GnomeVFSFileOffset' (i.e. according to whether gint64 exists or not). * libgnomevfs/gnome-vfs-types.h: #include . 1999-09-16 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (execute_load_directory_sorted): If the directory is empty, notify one single EOF. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_has_parent): New function. (gnome_vfs_uri_get_parent): New function. (set_uri_element): Make sure there is a slash at the beginning of the string. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_to_string): Do not try to copy `toplevel_info' if it is NULL. (gnome_vfs_uri_dup): If `uri' is NULL, do not spit out a warning. * libgnomevfs-pthread/gnome-vfs-job.c (dispatch_load_directory_callback): Do not unref the URI here unless we are reporting an error! (execute_open): Return FALSE if the operation failed, so that the thread is killed. (execute_create): Likewise. (execute_open_as_channel): Return FALSE on any error, and after closing the file. (execute_create_as_channel): Likewise. * libgnomevfs/gnome-vfs-directory.c (directory_visit_internal): Use new `gnome_vfs_uri_append_path()' instead of old `gnome_vfs_uri_append_text()'. (gnome_vfs_directory_visit_files_at_uri): Likewise. (CHECK_IF_SUPPORTED): Removed bogus `vfs' parameter. All occurrences updated. * libgnomevfs/gnome-vfs-xfer.c (create_xfer_file_list): Use new `gnome_vfs_uri_append_path()' instead of old `gnome_vfs_uri_append_text()'. (gnome_vfs_xfer_uri): Likewise. * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_dup): Handle the toplevel URI element correctly. (gnome_vfs_uri_append_text): Removed. (gnome_vfs_uri_append_path): New function. 1999-09-15 Ettore Perazzoli * test/Makefile.am (EXTRA_DIST): Add all the `.c' files. * libgnomevfs-corba/Makefile.am (gnome_vfs_slave_SOURCES): List built sources on top. (libgnomevfs_corba_la_SOURCES): Likewise. * libgnomevfs/Makefile.am (noinst_HEADERS): Add `gnome-vfs-module.h'. 1999-09-14 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (dispatch_open_callback): Unref the URI. (dispatch_create_callback): Likewise. (dispatch_open_as_channel_callback): Likewise. (dispatch_create_as_channel_callback): Likewise. (dispatch_load_directory_callback): Likewise. * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_open_uri): New function. (gnome_vfs_async_open_uri_as_channel): New function. (gnome_vfs_async_create_uri): New function. (gnome_vfs_async_load_directory_uri): New function. (gnome_vfs_async_open): Updated to work with the GnomeVFSJob changes using the GnomeVFSURI-based counterpart. (gnome_vfs_async_open_as_channel): Likewise. (gnome_vfs_async_create): Likewise. (gnome_vfs_async_create_as_channel): Likewise. (gnome_vfs_async_load_directory): Likewise. * libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Updated to work with the GnomeVFSJob changes. (execute_open_as_channel): Likewise. (execute_create): Likewise. (execute_create_as_channel): Likewise. (execute_load_directory_not_sorted): Likewise. (execute_load_directory_sorted): Likewise. * libgnomevfs-pthread/gnome-vfs-job.h: Use a `GnomeVFSURI' instead of a string for all the jobs, except for the xfer one. * libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_open_uri): New function prototype. (gnome_vfs_async_open_uri_as_channel): New function prototype. (gnome_vfs_async_create_uri): New function prototype. (gnome_vfs_async_create_uri_as_channel): New function prototype. (gnome_vfs_async_load_directory_uri): New function prototype. * libgnomevfs/gnome-vfs-directory-list.c (gnome_vfs_directory_list_sort): Re-assign `entries' to sort the list, and set the current position to "none". (gnome_vfs_directory_list_set_position): Allow setting a NULL position. * libgnomevfs/gnome-vfs-directory-filter.c (gnome_vfs_directory_filter_new): Do not return NULL if type is "none", but some option is specified. * libgnomevfs/gnome-vfs-types.h: New GnomeVFSDirectoryFilterOption `GNOME_VFS_DIRECTORY_FILTER_NOSELFDIR' to skip `.' and `GNOME_VFS_DIRECTORY_FILTER_NOPARENTDIR' to skip `..'. * libgnomevfs/gnome-vfs-directory-filter.c (common_filter): Honour them. * test/test-directory.c (sort_list): Measure sorting speed if `--measure-speed' is specified. (main): Sort the list even if `--measure-speed' is specified. Removed bogus filtering (it did not fit with the popt argument parsing). * test/test-async-directory.c: New option `--sort' (`-s'). (main): Do not sort the directory unless it is specified. * test/test-async-directory.c: Changed alias for `--measure-speed' from `-s' to `-m'. * test/test-directory.c: Likewise. * idl/gnome-vfs-slave.idl (GNOME::VFS:Slave::Notify::load_directory): The problem with `oneway' notifications was an ORBit bug, and has now been fixed: make this method `oneway' again. * libgnomevfs/gnome-vfs-directory-list.c (gnome_vfs_directory_list_get): New function. * libgnomevfs/gnome-vfs-directory-list.h: Prototype here. 1999-09-13 Ettore Perazzoli * idl/gnome-vfs-slave.idl: Made all the Notify methods non-oneway. [No matter what Sopwith says, ORBit does seem to discard oneway calls. Too bad, this could give us up to 20% more speed in `load_directory'.] 1999-09-12 Ettore Perazzoli * libgnomevfs-corba/gnome-vfs-async-ops.c (gnome_vfs_async_cancel): New function. Just a stub for now. * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_cancel): New function. Just a stub for now. * libgnomevfs-pthread/gnome-vfs-job.h (gnome_vfs_job_cancel): New prototype. * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_cancel): New function. * libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_cancel): New prototype. * libgnomevfs-pthread/gnome-vfs-job.c (execute_close): Notify with ack and return `FALSE' so that the thread is killed. (execute_load_directory_not_sorted): Always return FALSE. (execute_load_directory_sorted): Likewise. (gnome_vfs_job_new): Start the slave only when the `GnomeVFSJob' structure has all the members filled. * libgnomevfs-corba/gnome-vfs-slave.c: Do not #define `SLAVE_DEBUG'. (DPRINTF): Flush stdout. * test/test-directory.c: Added speed measurement options. (main): Honour them. * libgnomevfs/gnome-vfs-directory-list.h (gnome_vfs_directory_list_get_num_entries): New Prototype. * libgnomevfs/gnome-vfs-directory-list.c (struct _GnomeVFSDirectoryList): New member `num_entries'. (remove_entry): Decrement it. (gnome_vfs_directory_list_new): Initialize it. (gnome_vfs_directory_list_prepend): Increment it. (gnome_vfs_directory_list_append): Increment it. (gnome_vfs_directory_list_get_num_entries): New function, returning `num_entries'. * libgnomevfs/gnome-vfs-utils.c: #include . 1999-09-11 Ettore Perazzoli * test/test-async-directory.c (print_list): Flush stdout after each line. * libgnomevfs-pthread/gnome-vfs-job.c (execute_load_directory_sorted): Set result to `GNOME_VFS_ERROR_EOF' for the last notification. * test/test-async-directory.c: Added command-line options to control the number of items per notification and measure speed. (main): Set them up and honour them. (directory_load_callback): Do not print anything if measuring speed. * test/test-async-directory.c (main): Initialize the libraries correctly according to the version we are compiling (CORBA or pthread). (print_list): New parameter `num_entries'. Only print out the first `num_entries' elements. (directory_load_callback): Pass the number of entries. * test/Makefile.am: Compile `test-async-directory' in two versions: a CORBA and a pthread one. * libgnomevfs-pthread/gnome-vfs-job.c (JOB_DEBUG): Debugging macro, normally disabled. (job_notify): Set `want_notify_ack' before calling `wakeup'. (job_ack_notify): Debugging messages. (wakeup): Likewise. (job_oneway_notify): Likewise. (job_notify): Likewise. (job_close): Likewise. * test/gnome-file-selection/Makefile.am: Compile the pthread version of `gnome-file-selection-test' as well. * test/gnome-file-selection/gnome-file-selection.c (struct _GnomeFileSelectionPrivate): Removed `GnomeVFSAsyncContext' member, replaced by a `GnomeVFSAsyncHandle' member. (destroy): Don't free the context as it does not exist anymore. (init): Do not initialize the context. Instead, set the handle to NULL. (start_populating): Load the directory with the new API. (populate_callback): Updated for the new API (get a GnomeVFSAsyncHandle, not a GnomeVFSAsyncContext). * test/Makefile.am (SUBDIRS): Compile `gnome-file-selection' again. * modules/ftp-method.c: Do not #include "util-url.h" anymore. * modules/util-url.c: Removed. * modules/util-url.h: Removed. * modules/ftp-method.c (ftpfs_chdir_internal): Ooops. Use `TRUE' instead of `WAIT_REPLY'. (ftpfs_get_current_directory): Use `FALSE' instead of `NONE'. 1999-09-10 Ettore Perazzoli * modules/ftp-method.c: Removed `reply_str' global. Removed `NONE', `WAIT_REPLY', `WANT_STRING' #defines. (command): New parameters `reply_string' and `reply_string_len': copy the response in there instead of using the silly global. (login_server): Pass `TRUE' instead of `WAIT_REPLY' to `command()' for the `wait_reply' parameter. Pass NULL, 0 as `reply_string', `reply_string_len'. (ftpfs_chdir_internal): Likewise. (open_data_connection): Likewise. (changetype): Likewise. (initconn): Likewise. (abort_transfer): Pass `FALSE' instead of `NONE' to `command()' for the `wait_reply' parameter. Pass NULL, 0 as `reply_string', `reply_string_len'. (ftpfs_get_current_directory): Likewise. (setup_passive): Allocate the reply in a local buffer, update the call to `command()'. * modules/ftp-method.c: Removed variable `force_expiration', it does not seem to be have meaningful use. #define `logfile' to `stdout' so that we get some useful debugging messages. Removed `code' global (this was *evil*). Removed `got_sigpipe' global. (retrieve_dir): Do not reference it anymore. (get_reply): Return the code without dividing it by 100. (command): Return 421 for a transient error. Return `COMPLETE * 100' instead of `COMPLETE'. (login_server): Divide return values from `get_reply' and `command' by 100 before comparing with the `ftp.h' constants. (abort_transfer): Compare `get_reply()' return value with 426 instead of comparing it with 4 and checking the global `code' with 426. (store_file): Divide return value from `get_reply()' by 100. (linear_read): Likewise. (ftpfs_get_current_directory): Likewise. (retrieve_dir): Likewise. (abort_transfer): Divide return value from `command()' by 100. (login_server): Likewise. (setup_passive): Likewise. (ftpfs_get_current_directory): Likewise. (ftpfs_chdir_internal): Likewise. (open_data_connection): Likewise. (changetype): Likewise. (initconn): Likewise. (is_connection_closed): Removed unused function. (sig_pipe): Do not set `got_sigpipe' anymore. (net_init): Likewise. (command): Likewise. * modules/ftp-method.c (ftpfs_connection_new): New parameter `result_return' used to return the VFS error code for a failure. (ftpfs_uri_new): Likewise. (ftpfs_open_socket): Return a GnomeVFSResult, and set the connection on `conn' directly. Return `GNOME_VFS_ERROR_INVALIDHOSTNAME' if the host name is not valid. If `gethostbyname()' fails, translate `h_errno' using `gnome_vfs_result_from_h_errno()'. If any of the other Unix functions fails, return a sensible error code using `gnome_vfs_result_from_errno()'. (login_server): Return value changed to `GnomeVFSResult'. Return `GNOME_VFS_ERROR_LOGINFAILED' on error. Use login "anonymous" if user name is NULL. (ftpfs_open): Use the new result parameter in `ftpfs_uri_new()'. (ftpfs_create): Likewise. (command): Adapted to the new `ftpfs_connection_connect()'. (ftpfs_connection_connect): Return type changed to `GnomeVFSResult'. Return an appropriate result value. (hash_conn): Deal with NULL host/user names gracefully. (get_file_entry): Return `GNOME_VFS_ERROR_NOTFOUND' if the file is not found, instead of `GNOME_VFS_ERROR_GENERIC'. * libgnomevfs/gnome-vfs-result.c: #include and declare `h_errno' as extern (gnome_vfs_result_from_h_errno): New function. * libgnomevfs/gnome-vfs-result.h (gnome_vfs_result_from_h_errno): Prototype here. * libgnomevfs/gnome-vfs-types.h: New errors `GNOME_VFS_ERROR_HOSTNOTFOUND', `GNOME_VFS_ERROR_INVALIDHOSTNAME', `GNOME_VFS_ERROR_HOSTHASNOADDRESS', `GNOME_VFS_ERROR_LOGINFAILED'. * libgnomevfs/gnome-vfs-result.c: Added the corresponding description strings. * modules/ftp-method.c (resolve_symlink_without_ls_options): Use `gnome_vfs_canonicalize_pathname()' instead of `canonicalize_pathname' from `util-url.c'. (ftpfs_open): Return `GNOME_VFS_ERROR_INVALIDURI' instead of `GNOME_VFS_ERROR_WRONGFORMAT'. (ftpfs_create): Likewise. (ftpfs_connection_new): Get const string parameters, and g_strdup() all of them when filling the connection struct. (ftpfs_parse_uri): Renamed to `ftpfs_uri_new'. Use the new members in `GnomeVFSToplevelURI' instead of parsing the string. (ftpfs_connection_new): Removed unused parameter `path'; callers updated. (lookup_conn): If the specified port is zero, use the default FTP port. (ftpfs_connection_new): Likewise. * test/test-sync.c (main): Do things through a GnomeVFSURI and use `gnome_vfs_uri_to_string()', so that we can debug the new stuff. * libgnomevfs/gnome-vfs-xfer.c (gnome_vfs_xfer_uri): Hide password when setting source/target URIs in the progress info. * libgnomevfs/gnome-vfs-uri.c (set_uri_element): New helper function. It sets the URI element canonicalizing it as well. (gnome_vfs_uri_new): Changed to use `set_uri_element' and allocate the special toplevel URI element. (gnome_vfs_uri_to_string): New parameter `hide_options'. Add host/user information to the string, hiding the information specified in `hide_options'. * libgnomevfs/gnome-vfs-types.h: New enum `GnomeVFSURIHideOptions'. * libgnomevfs/gnome-vfs-utils.c (gnome_vfs_canonicalize_pathname): New function, stolen from `util-url.c'. Slightly changed so that it does not remove trailing slashes anymore (we do want them!). * libgnomevfs/gnome-vfs-uri.c: Use the constants defined in `gnome-vfs-constants.h'. * libgnomevfs/gnome-vfs.h: #include `gnome-vfs-constants.h'. * libgnomevfs/gnome-vfs-constants.h: New file defining VFS constants. 1999-09-09 Ettore Perazzoli * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_new): Allocate the toplevel URI as a `GnomeVFSToplevelURI'. (gnome_vfs_uri_get_toplevel): New function. (gnome_vfs_uri_get_host_name): New function. (gnome_vfs_uri_get_host_port): New function. (gnome_vfs_uri_get_user_name): New function. (gnome_vfs_uri_get_password): New function. (gnome_vfs_uri_set_host_name): New function. (gnome_vfs_uri_set_host_port): New function. (gnome_vfs_uri_set_user_name): New function. (gnome_vfs_uri_set_password): New function. (destroy_element): If it's a toplevel URI, free its extra strings as well. (string_head): New helper function. (split_toplevel_uri): New function, derived from the Midnight Commander code in `util-url.c'. Changed semantics and parameters, optimized and prettified a little bit. * libgnomevfs/gnome-vfs-types.h: New type `GnomeVFSToplevelURI'. 1999-09-08 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (execute_open): Do not set `handle' on the notification. (execute_create): Likewise. (execute_close): Likewise. * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_close): Do not set `handle' on the request. (gnome_vfs_async_read): Likewise. (gnome_vfs_async_write): Likewise. * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Initialize the `handle' member to NULL. (execute_open): Set `handle'. (execute_create): Likewise. (execute_close): Use `job->handle' instead of the (now gone) request-specific member. (execute_read): Likewise. (execute_write): Likewise. (execute_close): Set `handle' to NULL. * libgnomevfs-pthread/gnome-vfs-job.h: Removed `handle' members from all the `*Job' structs. (struct _GnomeVFSJob): New member `handle'. * libgnomevfs-pthread/gnome-vfs-job.c (execute_xfer): Return FALSE. (execute_load_directory): Return FALSE; * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_context_new): Removed. (gnome_vfs_async_context_destroy): Removed. (struct _GnomeVFSAsyncContext): Removed. (struct _GnomeVFSAsyncHandle): Removed. (gnome_vfs_async_open): Updated for the new API. Create a new job for this file and return it as the handle. (gnome_vfs_async_open_as_channel): Likewise. (gnome_vfs_async_create): Likewise. (gnome_vfs_async_create_as_channel): Likewise. (gnome_vfs_async_close): Updated for the new API. (gnome_vfs_async_read): Updated for the new API. (gnome_vfs_async_write): Updated for the new API. (gnome_vfs_async_load_directory): Updated for the new API. Create a new job for this file and return it as the handle. (gnome_vfs_async_xfer): Likewise. * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Removed parameter `context'. (dispatch_open_callback): Updated to match the new number of parameters of callback functions. Pass the job as the `GnomeVFSAsyncHandle' parameter. (dispatch_create_callback): Likewise. (dispatch_open_as_channel_callback): Likewise. (dispatch_create_as_channel_callback): Likewise. (dispatch_read_callback): Likewise. (dispatch_write_callback): Likewise. (dispatch_xfer_callback): Likewise. (dispatch_close_callback): Likewise. Destroy the job on return. (dispatch_load_directory_callback): Likewise. * libgnomevfs-pthread/gnome-vfs-job.h (struct _GnomeVFSJob): Removed member `context'. * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Create new slave first. If this fails, return NULL. * test/test-channel.c (io_channel_callback): Handle combined conditions. * libgnomevfs/gnome-vfs-types.h: Removed `GnomeVFSAsyncContext' definition. * libgnomevfs-corba/gnome-vfs-slave-notify.c (impl_Notify_open): Duplicate the file handle object. (impl_Notify_close): Relese the file handle object. * test/test-async.c: Adapted to the new API. * test/test-async-channel.c: Likewise. * test/test-channel.c: Likewise. * test/Makefile.am: Do not compile the pthread versions of the tests anymore. Do not compile the gnome-file-selection test for now. * libgnomevfs-corba/gnome-vfs-async-ops.c: Updated all the functions to handle the new parameters and use the new modules. (gnome_vfs_async_context_destroy): Removed. (gnome_vfs_async_context_reset): Removed. (gnome_vfs_async_context_new): Removed. (create_notify_object): Removed. (context_from_servant): Removed. * libgnomevfs-corba/gnome-vfs-slave-notify.c: New file, implementing the `GNOME::VFS::Slave::Notify' interface. * libgnomevfs-corba/gnome-vfs-slave-notify.h: Header for it. * libgnomevfs-corba/gnome-vfs-slave-process.c: New file, replacing GnomeVFSAsyncContext handling. * libgnomevfs-corba/gnome-vfs-slave-process.h: Header for it. * libgnomevfs/gnome-vfs-types.h: Removed `GnomeVFSAsyncContextResetCallback' typedef. * libgnomevfs/gnome-vfs-types.h: The callbacks no longer take a `GnomeVFSAsyncContext *' parameter. Instead, they now take a `GnomeVFSAsyncHandle *' parameter. * libgnomevfs/gnome-vfs-async-ops.h: Removed prototypes for (gnome_vfs_async_context_new): Removed prototype. (gnome_vfs_async_context_reset): Removed prototype. (gnome_vfs_async_context_destroy): Remove prototype. (gnome_vfs_async_open): Removed parameter `context'; new parameter `handle_return'. (gnome_vfs_async_open_as_channel): Likewise. (gnome_vfs_async_create): Likewise. (gnome_vfs_async_create_as_channel): Likewise. (gnome_vfs_async_load_directory): Likewise. (gnome_vfs_async_xfer): Likewise. 1999-09-08 Michael Meeks * libgnomevfs/gnome-vfs-seekable.c (init_seek): Split out file read (read_file): to here & added (write_file): to put back the cache. (do_close): write file back. (init_seek): Add dirty bit. NB. dirt bit could cause problems with 0 length created files. 1999-09-07 Michael Meeks * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): Added new improved re-open for non-random capable file methods. * doc/writing-modules.txt: Updated. * libgnomevfs/gnome-vfs-seekable.c: Actualy does something now. * modules/file-method.c (do_create): Fixed unix_mode on created file to allow reading from a created file. 1999-09-06 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.c (gnome_vfs_job_new): Initialize `wakeup_channel_lock'. (gnome_vfs_job_destroy): Free it. (wakeup): New helper function. (job_oneway_notify): Use it. Lock the channel mutex before doing the notification. (job_notify): Likewise. (job_ack_notify): Unlock the channel mutex. * libgnomevfs-pthread/gnome-vfs-job.h: New member `wakeup_channel_lock' in `GnomeVFSJob'. * libgnomevfs-pthread/gnome-vfs-job.c (job_notify): Set `want_notify_ack' to TRUE before waiting for the acknowledgment condition. (job_ack_notify): Signal the acknowledgment condition only if `want_notify_ack' is TRUE. * libgnomevfs-pthread/gnome-vfs-job.h: New member `want_notify_ack' in `GnomeVFSJob'. 1999-09-06 Michael Meeks * libgnomevfs/gnome-vfs-private.h: Add include gnome-vfs-seekable.h * libgnomevfs/gnome-vfs-seekable.[ch]: Created. * libgnomevfs/Makefile.am: Include them. * libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_new): Added OPEN_RANDOM hook here. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_open_from_uri): and removed hook from here. * test/test-seek.c: Implemented fully. * modules/file-method.c (do_tell, do_seek): correct order to offset then whence. * test/gnome-file-selection/gicon.c (gicon_get_icon_for_file): Add precondition. 1999-09-06 Ettore Perazzoli * libgnomevfs-corba/gnome-vfs-async-ops.c (impl_Notify_open_as_channel): If the operation fails, the context is not busy anymore. * libgnomevfs/gnome-vfs-method.c: New type `MethodElement'. (gnome_vfs_method_get): Put `MethodElement's in the hash table instead of `GnomeVFSMethod's. (module_get_sane_handle): Do not check for get_file_info. * modules/file-method.c (do_open): Removed wrong directory test. (do_create): Removed stupid stat check. (do_seek): Call LSEEK() correctly. (do_tell): Likewise. 1999-09-05 Michael Meeks * test/Makefile.am (noinst_PROGRAMS): Added test_seek. * libgnomevfs/gnome-vfs-method.c (module_get_sane_handle): Add check for 'seek' and no 'tell'. 1999-09-05 Ettore Perazzoli * modules/file-method.c (do_open): Fstat the file; if it's a directory, return `GNOME_VFS_ERROR_ISDIRECTORY'. (do_create): Likewise. 1999-09-04 Ettore Perazzoli * modules/file-method.c (stat_to_file_info): New helper function. (get_stat_info_from_handle): New function to get GnomeVFSFileInfo from an existing handle. (do_get_file_info_from_handle): New function, implementing the `get_file_info_from_handle' method. * modules/ftp-method.c: Likewise. * modules/gconf-method.c: Likewise. * modules/http-method.c: Likewise. * modules/gzip-method.c: Set the `get_file_info_from_handle' method to NULL. * libgnomevfs/gnome-vfs-private-types.h: New member `get_file_info_from_handle' in `GnomeVFSMethod'. * libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_do_get_file_info): New function. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_get_file_info_from_handle): New function. * libgnomevfs/gnome-vfs-private-types.h: New typedef. `GnomeVFSMethodGetFileInfoFromHandleFunc'. * modules/file-method.c (do_create): Renamed `file_method' to `file_handle'. 1999-09-02 Ettore Perazzoli * libgnomevfs/gnome-vfs-process.c: Improved SIGCHLD handling. (sigchld_handler): Instead of waking the GLIB loop up once for every dead child, wake it up only for registered children. (foreach_pid_func): Helper function for `sigchld_handler'. It sends a pointer to the process struct and the exit status to the wake up GIOChannel. (wake_up): Handle the information as sent by `foreach_pid_func'. 1999-09-01 Dave Camp * modules/gconf-method.c: Explicitly set the `remove_directory' method to NULL. 1999-09-01 Ettore Perazzoli * modules/http-method.c: Explicitly set the `remove_directory' method to NULL. * modules/ftp-method.c (ftpfs_remove_directory): New function, for future implementation of the `remove_directory' method. * modules/gzip-method.c: Explicitly set the `remove_directory' and `rename' methods to NULL. * modules/file-method.c (do_remove_directory): New function, implementing the `remove_directory' method. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_remove_directory_from_uri): New function. (gnome_vfs_remove_directory): New function. * libgnomevfs/gnome-vfs-private-types.h: New typedef `GnomeVFSMethodRemoveDirectoryFunc'. Added member `remove_directory' to `GnomeVFSMethod'. * libgnomevfs/gnome-vfs-ops.c (gnome_vfs_tell): Removed parameter `whence'. * libgnomevfs/gnome-vfs-handle.c (gnome_vfs_handle_do_tell): Removed parameter `whence'. * libgnomevfs/gnome-vfs-private-types.h: Removed parameter `whence' from the `GnomeVFSMethodTellFunc' function typedef. * modules/file-method.c: Updated accordingly. * modules/ftp-method.c: Updated accordingly. * modules/http-method.c: Updated accordingly. 1999-09-01 Dave Camp * modules/gconf-method.c (set_mime_type_value): Return a GnomeVFSResult, check return value of calls. (set_mime_type_dir): Ditto. (set_stat_info_dir): Ditto. (file_info_value): Ditto. (file_info_dir): Ditto. (read_directory): Ditto. 1999-09-01 Dave Camp * configure.in: Check for GConf. * modules/Makefile.am: Build libgconf.la if HAVE_GCONF is set. * modules/gconf-method.c: New file. 1999-09-01 Ettore Perazzoli * test/test-async-directory.c (directory_load_callback): Added cast for printf. * modules/file-method.c: Removed `init()' prototype. * modules/gzip-method.c: Likewise. * libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_read): Use `GnomeVFSFileSize' appropriately. (serve_channel_write): Likewise. * test/test-async-directory.c (print_list): Fix format string to handle long longs. * test/test-async.c (read_callback): Likewise. * test/test-copy.c (xfer_progress_callback): Likewise. * test/test-directory.c (print_list): Likewise. * test/test-directory-visit.c (directory_visit_callback): Likewise. * modules/file-method.c: #define `_LARGEFILE64_SOURCE' before including anything. #define `OPEN' to `open64' if available, to `open' otherwise. #define `LSEEK' to `lseek64' if available, to `lseek' otherwise. Likewise, #define `OFF_T' to either `off_t' or `off64_t', accordingly. (do_open): Use the `OPEN' macro instead of `open()'. (do_create): Likewise. (do_seek): Use the `LSEEK' macro instead of `lseek()'. (do_tell): Likewise. (do_tell): Use the `OFF_T' instead of `off_t'. * libgnomevfs/gnome-vfs-types.h: Define `GnomeVFSFileSize' as `guint64' and `GnomeVFSFileOffset' to `gint64' if we have gint64 support * configure.in: Check for `open64' and `lseek64'. * libgnomevfs/gnome-vfs-types.h: Added comment with instructions for modifying the GnomeVFSResult properly. * libgnomevfs/gnome-vfs-result.c: Added status strings for `GNOME_VFS_ERROR_INTERRUPTED' and `GNOME_VFS_ERROR_FILEEXISTS'. 1999-08-31 Michael Meeks * modules/file-method.c: Rename module init and add shutdown & include. * modules/ftp-method.c: ditto. * modules/gzip-method.c: ditto. * modules/http-method.c: ditto. * libgnomevfs/gnome-vfs-module.h: Create. * libgnomevfs/gnome-vfs-method.c (module_get_sane_handle): Add & use new function name macros. (gnome_vfs_method_get): move some stuff & call get_sane_handle. 1999-08-31 Miguel de Icaza * modules/ftp-method.c: new global: got_sigpipe. (ftpfs_connection_connect): Init sigpipe handler; Only connect if connection is invalid. (get_file_entry): Apply IS_LINEAR on proper flags. (ftpfs_open): Use the linear state as computed in get_file_entry. (ftpfs_read): Implemented. (ftpfs_close): Implemented. (ftpfs_create): Implemented. (ftpfs_seek): Implemented. (ftpfs_tell): Implemented. 1999-08-30 Miguel de Icaza * modules/ftp-method.c (ftpfs_dir_unref): New method. 1999-08-29 Miguel de Icaza * libgnomevfs/gnome-vfs-types.h: New error types. * libgnomevfs/gnome-vfs-result.c: Return nice results for it. 1999-08-30 Miguel de Icaza * modules/ftp-method.c (IS_LINEAR): Define macro. GNOME_VFS_OPEN_RANDOM means we need seek support, otherwise we are a linear transfer. Cool. 1999-08-28 Ettore Perazzoli * libgnomevfs-corba/gnome-vfs-async-ops.c (impl_Notify_load_directory): Copy `name' and allocate it dynamically. * libgnomevfs-corba/gnome-vfs-slave.c (allocate_info_list): Initialize `name' to NULL. (copy_file_info): Copy `name' into the CORBA `FileInfo' struct using `set_corba_string'. * idl/gnome-vfs-slave.idl: Added member `name' to `FileInfo'. * modules/file-method.c (read_directory): Allocate the name in the `GnomeVFSFileInfo' struct dynamically. (do_get_file_info): Set `name' in the info using `g_basename'. * libgnomevfs/gnome-vfs-file-info.c (gnome_vfs_file_info_clear): Free `name'. (gnome_vfs_file_info_copy): Realloc `name' in the destination `GnomeVFSFileInfo'. * libgnomevfs/gnome-vfs-types.h: Removed #definition of `GNOME_VFS_FILE_NAME_LEN'. Member `name' of `GnomeVFSFileInfo' changed from `char []' to `char *'. 1999-08-27 Miguel de Icaza * modules/util-url.c, modules/ftp-method.c: New files for the implementation of the FTP backend. 1999-08-26 Miguel de Icaza * test/gnome-file-selection/gnome-file-selection.c (setup_directory_clist): Also push the colormap and pop the colormap. 1999-08-27 Ettore Perazzoli * test/gnome-file-selection/gicon.c: Do not #define `ICONDIR' manually anymore. * test/gnome-file-selection/Makefile.am (INCLUDES): Added quick & dirty `-DICONDIR' definition. 1999-08-26 Ettore Perazzoli * libgnomevfs-pthread/gnome-vfs-job.h: Changed `is_empty' member of `GnomeVFSJob' from 1-bit wide gboolean to plain gboolean. * modules/Makefile.am (modules_LTLIBRARIES): Removed previously commented HTTP module. * test/Makefile.am: Minor cleanup. (noinst_PROGRAMS): Replace `test-async-pthread' with `test-async_pthread' and `test-async-corba' with `test-async_corba'. Added `test-channel_corba' and `test-channel_pthread'. (test-channel_corba): New target, compiling `test-channel.c' with the CORBA-based VFS. (test-channel_pthread): New target, compiling `test-channel.c' with the PThread-based VFS. * libgnomevfs-pthread/gnome-vfs-job.c (serve_channel_write): New function. (serve_channel_read): New function. (execute_open_as_channel): New function. (execute_create_as_channel): New function. (gnome_vfs_job_execute): Call `execute_open_as_channel()' and `execute_create_as_channel()' for jobs `GNOME_VFS_JOB_OPEN_AS_CHANNEL' and `GNOME_VFS_JOB_CREATE_AS_CHANNEL', respectively. (dispatch_open_or_create_as_channel_callback): New function. (dispatch_job_callback): Handle `GNOME_VFS_JOB_OPEN_AS_CHANNEL' and `GNOME_VFS_JOB_CREATE_AS_CHANNEL' through it. * libgnomevfs-pthread/gnome-vfs-async-ops.c (gnome_vfs_async_open_as_channel): New function. (gnome_vfs_async_create_as_channel): New function. * libgnomevfs-pthread/gnome-vfs-job.h: New structs `GnomeVFSOpenAsChannelJob', `GnomeVFSCreateAsChannelJob'; added corresponding members to `GnomeVFSJob'. New values `GNOME_VFS_JOB_OPEN_AS_CHANNEL' and `GNOME_VFS_JOB_CREATE_AS_CHANNEL' in `GnomeVFSJobType'. * test/test-async-directory.c: Removed translation marks. * test/test-async.c: Likewise. * test/test-directory-visit.c: Likewise. * test/test-directory.c: Likewise. * libgnomevfs/gnome-vfs-result.c (gnome_vfs_result_from_errno): Translate `EPERM' with `GNOME_VFS_ERROR_NOTPERMITTED'. * libgnomevfs/gnome-vfs-types.h: Added value `GNOME_VFS_ERROR_NOTPERMITTED' to GnomeVFSError. * test/test-channel.c: New test program. * libgnomevfs-corba/gnome-vfs-slave.h (setup_and_serve_channel): New function. (serve_channel_read): New function. (serve_channel_write): New function. (impl_Request_open_as_channel): New function. (impl_Request_create_as_channel): New function. (init_Request): Install `impl_Request_open_as_channel' and `impl_Request_create_as_channel' as the implementations for `Request::open_as_channel' and `Request::create_as_channel', respectively. * libgnomevfs-corba/gnome-vfs-async-ops.c: New values `GNOME_VFS_ASYNC_OP_OPEN_AS_CHANNEL', `GNOME_VFS_ASYNC_OP_CREATE_AS_CHANNEL' `GNOME_VFS_ASYNC_OP_CHANNEL' in enum `GnomeVFSAsyncOperation'. Sorted values in alphabetical order. (gnome_vfs_async_open_as_channel): New function. (gnome_vfs_async_create_as_channel): New function. (impl_Notify_open_as_channel): New function. (create_notify_object): Install it as the implementation of `Notify::open_as_channel'. * idl/gnome-vfs-slave.idl (Request::open_as_channel): New method. (Request::create_as_channel): New method. (Notify::open_as_channel): New method. * libgnomevfs/gnome-vfs-async-ops.h (gnome_vfs_async_open_as_channel): Declare new function. (gnome_vfs_async_create_as_channel): Declare new function. * libgnomevfs/gnome-vfs-types.h: New typedefs `GnomeVFSAsyncOpenAsChannelCallback', `GnomeVFSAsyncCreateAsChannelCallback'. * libgnomevfs-corba/gnome-vfs-async-ops.c (gnome_vfs_async_create): Added precondition that file must be open for writing. (impl_Notify_reset): Oops. Removed typo (`*' before parameter `servant'). 1999-08-26 Michael Meeks * test/gnome-file-selection/gnome-file-selection.c (clean_file_list): Added. (change_dir): Clean list. (populate_callback): Add only files. 1999-08-26 Michael Meeks * test/gnome-file-selection/gnome-file-selection.c (destroy): Destroy file_list. (GnomeFileSelectionPrivate): Changed file_list to GList. (select_icon_callback): use this list, add lots of preconditions. 1999-08-26 Michael Meeks * libgnomevfs/gnome-vfs-types.h: Add GnomeVFSFileSize, and GnomeVFSFileOffset ( unsigned, signed ). and push through the whole API - How will CORBA deal with this ? 1999-08-25 Michael Meeks * doc/writing-modules.txt: Started. 1999-08-25 Michael Meeks * http-method.[ch]: First pass at implementing. * modules/file-method.c: Add NULL RenameFunc to methods, and remove const from do_make_directory's GnomeVFSURI. * modules/Makefile.am: Add libhttp.la, commented out. 1999-08-25 Ettore Perazzoli * modules/file-method.c: Preconditions return `GNOME_VFS_INTERNAL' instead of `GNOME_VFS_BAD_POINTER'. * libgnomevfs/gnome-vfs-types.h: Removed value `GNOME_VFS_BAD_POINTER' from the `GnomeVFSResult' enum. 1999-08-25 Michael Meeks * modules/file-method.c: Update all preconditions to return BAD_POINTER as their GnomeVFSResult instead of FALSE. * libgnomevfs/gnome-vfs-types.h: Added GNOME_VFS_ERROR_BAD_POINTER. * modules/gzip-method.h: Rename conditional include from _FILE_H to _GZIP_H 1999-08-25 Ettore Perazzoli * configure.in: Add gnomeui libs to `VFSCORBA_LIBS'. > * libgnomevfs/gnome-vfs-types.h: Add GnomeVFSFileSize, and GnomeVFSFileOffset ( unsigned, signed ). and push through the whole API - How will CORBA deal with this ? 1999-08-25 Michael Meeks * doc/writing-modules.txt: Started. 1999-08-25 Michael Meeks * http-method.[ch]: First pass at implementing. * modules/file-method.c: Add NULL RenameFunc to methods, and remove const from do_make_directory's GnomeVFSURI. * modules/Makefile.am: Add libhttp.la, commented out. 1999-08-25 Ettore Perazzoli * modules/file-method.c: Preconditions return `GNOME_VFS_INTERNAL' instead of `GNOME_VFS_BAD_POINTER'. * libgnomevfs/gnome-vfs-types.h: Removed value `GNOME_VFS_BAD_POINTER' from the `GnomeVFSResult' enum. 1999-08-25 Michael Meeks * modules/file-method.c: Update all preconditions to return BAD_POINTER as their GnomeVFSResult instead of FALSE. * libgnomevfs/gnome-vfs-types.h: Added GNOME_VFS_ERROR_BAD_POINTER. * modules/gzip-method.h: Rename conditional include from _FILE_H to _GZIP_H 1999-08-25 Ettore Perazzoli * configure.in: Add gnomeui libs to `VFSCORBA_LIBS'.