2002-02-23 Andy Hertzfeld <andy@differnet.com>
2002-02-23  Andy Hertzfeld  <andy@differnet.com>

* 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-11  jacob berkman  <jacob@ximian.com>

* configure.in: remove checks for capplet things

2002-02-10  Darin Adler  <darin@bentspoon.com>

* libgnomevfs/Makefile.am:
* modules/Makefile.am:
Define _FILE_OFFSET_BITS=64 and _LARGEFILE64_SOURCE,
so we get 64-bit file sizes.

* libgnomevfs/gnome-vfs-module-shared.c:
* modules/file-method.c:
Removed _LARGEFILE64_SOURCE defines in individual files
that are now redundant.

* libgnomevfs/gnome-vfs-file-info.h: Change the inode
number field to be guint, so it doesn't change based on
the flags controlling types in the system headers. I chose
guint assuming that it will match the size of inode_t
compiled into existing gnome-vfs-using programs.

2002-01-30  Seth Nickell  <snickell@stanford.edu>

* acconfig.h:
* configure.in:
* libgnomevfs/libcharset/Makefile.am:
* libgnomevfs/libcharset/codeset.m4:
* libgnomevfs/libcharset/config.charset:
* libgnomevfs/libcharset/glibc21.m4:
* libgnomevfs/libcharset/libcharset.h:
* libgnomevfs/libcharset/localcharset.c:
(_gnome_vfs_locale_get_charset_aliases),
(_gnome_vfs_locale_charset):
* libgnomevfs/libcharset/ref-add.sin:
* libgnomevfs/libcharset/ref-del.sin:

Add libcharset, snatched from glib, which snatched
it from libiconv.

* libgnomevfs/Makefile.am:
* libgnomevfs/gnome-vfs-mime-info.c: (convert_with_iconv),
(get_charset), (locale_from_utf8), (context_add_key):

Steal some code from glib and improvise the rest ;-) When
reading the MIME database in convert it from UTF-8 into
the character set of the current locale.

2002-01-28  Darin Adler  <darin@bentspoon.com>

* modules/Makefile.am: Fix module flags. Patch from Remi Cohen-Scali
<remi@cohen-scali.com>.

2002-01-28  Darin Adler  <darin@bentspoon.com>

* gnome-vfs.spec.in: Oops, one more thing to remove.

2002-01-28  Darin Adler  <darin@bentspoon.com>

* gnome-vfs.spec.in: Patch from Roy-Magne Mo to fix spec file now
that gnome-mime-data is separate.

2002-01-27  Anders Carlsson  <andersca@gnu.org>

* 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  <jacob@ximian.com>

* man/:
* Makefile.am (SUBDIRS): 
* configure.in (AC_OUTPUT): remove man page

2002-01-20  Kjartan Maraas  <kmaraas@gnome.org>

* libgnomevfs/gnome-vfs-seekable.c: Use /* */ not // in comments.
* modules/extfs-method.c, modules/bzip2-method.c, gzip-method.c:
Same here too. From Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.

2002-01-20  Seth Nickell  <snickell@stanford.edu>

* configure.in: 
* NEWS
Bump version to 1.0.4, update NEWS to reflect this.

2002-01-17  Darin Adler  <darin@bentspoon.com>

* libgnomevfs/gnome-vfs-mime.h: Remove include of <regex.h>.

2002-01-14  Andy Hertzfeld  <andy@differnet.com>

fixed synchronization problems by adding a routine to reset the
response buffer, and using it when to start a command.  Also,
made a few minor formatting fixes.

* modules/nntp-method.c: (do_control_write),
(nntp_connection_reset_buffer), (do_basic_command),
(load_file_fragment), (prepare_to_read_file), (do_open):

2002-01-13  Andy Hertzfeld  <andy@differnet.com>

checkin of new nntp-method for gnome-vfs, which allows binary files
from newsgroups to be viewed and manipulated from nautilus.  See
http://differnet.com/nntp for a more thorough description.

* modules/Makefile.am:
added nntp-method files

* modules/default-modules.conf:
added nntp prootocol

* modules/nntp-method.c: (nntp_response_to_vfs_result),
(read_response_line), (get_response), (do_control_write),
(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)

this is the implementation of the nntp-method

* modules/nntp-method.h:
structure definitions for nntp-method

2002-01-04  Pablo Saratxaga <pablo@mandrakesoft.com>

* configure,in (ALL_LINGUAS): Added "eu".

2001-11-13  Frederic Crozat  <fcrozat@mandrakesoft.com>

* configure.in:

Fix default detection of OpenSSL libraries

2001-11-09  Seth Nickell  <snickell@stanford.edu>

* configure.in:

Depend on gnome-mime-data.

* Makefile.am:

Don't build data.

* data/Makefile.am:
* data/mime/ChangeLog:
* data/mime/Makefile.am:
* data/mime/WHERE_IS_THE_MIME_REGISTRY:
* 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 database from GnomeVFS. The actual
data is now stored in the module 'gnome-mime-data'.
This allows the information to be shared between
GnomeVFS1 and GnomeVFS2.

* doc/tmpl/gnome-vfs-unused.sgml:

Some strange documentation change.

2001-10-30  Maciej Stachowiak  <mjs@noisehavoc.org>

* modules/Makefile.am, modules/default-modules.conf,
modules/gconf-method.c, modules/gconf-method.h: Remove gconf
method.

2001-10-25  Darin Adler  <darin@bentspoon.com>

* configure.in: Don't generate Makefiles in the intl and macros
subdirectories, since we don't compile in them.

2001-10-24  Havoc Pennington  <hp@redhat.com>

* 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

2001-10-24  Darin Adler  <darin@bentspoon.com>

* gnome-vfs.spec.in: Fix include directories (thanks Toralf Lund)

2001-10-20  Anders Carlsson  <andersca@gnu.org>

* configure.in (ALL_LINGUAS): Don't use commas here.

2001-10-15  Eskil Heyn Olsen  <eskil@eskil.dk>

* configure.in:
Add all the extra libs (xml, oaf, gconf) to the gnome-vfs-config
and vfsConf.sh scripts.

2001-10-12  Maciej Stachowiak  <mjs@noisehavoc.org>

* NEWS, configure.in: Updated for 1.0.3.

* modules/Makefile.am: Rename unused SOURCES variables to SRCLIST
for Automake 1.5 compatibility. Patch from Ali Akcaagac
<ali.akcaagac@stud.fh-wilhelmshaven.de>.

* libgnomevfs/gnome-vfs-backend.c (gnome_vfs_backend_loadinit):
Pass NULL instead of LIBDIR so LD_LIBRARY_PATH is searched and
thus make distcheck passes.

2001-10-10  jacob berkman  <jacob@ximian.com>

* libgnomevfs/gnome-vfs-backend.c (gnome_vfs_backend_loadinit):
fix a thinko

* libgnomevfs-corba/Makefile.am (libgnomevfs_corba_la_LDFLAGS): 
* libgnomevfs-pthread/Makefile.am
(libgnomevfs_pthread_la_LDFLAGS): build with -module
-avoid-version

* libgnomevfs/gnome-vfs-backend.c (gnome_vfs_backend_loadinit):
fix a buffer overflow, and use g_module_build_path() so we work on
hp-ux.  fixes gnome bug #51966

* libgnomevfs/Makefile.am: remove an extraneous space

* gnome-vfs.spec.in: include the module .so files in the main
package, and don't include their .la or .a files (since they can't
be used anyway)

2001-10-07  Maciej Stachowiak  <mjs@noisehavoc.org>

* configure.in: Fixed bug 41957 (gnome-vfs config does not reject
libxml 2) by copying the check for libxml 1.x from the nautiluse
configure script. This change should not be merged to HEAD.

2001-10-07  Maciej Stachowiak  <mjs@noisehavoc.org>

* modules/nfs-method.c: (rpc_init_tcp): Fix bug 55805 (mistake in
gnome-vfs/modules/nfs-method.c), patch from Martin Pool
<mbp@samba.org>.

* doc/tmpl/gnome-vfs-unused.sgml: Mystery doc updates.

2001-09-30  Anders Carlsson  <andersca@gnu.org>

* libgnomevfs/gnome-vfs-module-callback.c:
(gnome_vfs_module_callback_free_stack_info): Free the stack info
structure too.

2001-09-31  Kjartan Maraas  <kmaraas@gnome.org>

* configure.in: Added "pt" to ALL_LINGUAS.

2001-09-28  Darin Adler  <darin@bentspoon.com>

* configure.in: Oops. My mistake. I confused gnome-vfs versions
with Nautilus versions. Back to 1.0.2.

2001-09-28  Darin Adler  <darin@bentspoon.com>

* configure.in: Update version number to 1.0.5. The people doing
releases haven't been updating versions, it seems.

2001-09-20  Havoc Pennington  <hp@redhat.com>

* 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  <hp@redhat.com>

* modules/Makefile.am (INCLUDES): add gnome cflags

2001-09-15  Darin Adler  <darin@bentspoon.com>

* configure.in: Move AM_PROG_XML_I18N_TOOLS macro up.
Remove some unnecessary stuff.

* doc/tmpl/gnome-vfs-unused.sgml: Not sure why this is
checked in, but check in a newly updated version.

==== gnome-vfs 1.0.2 ====

2001-09-11  Ian McKellar  <yakk@yakk.net>

* HACKING:
* configure.in:
* po/*.po:
* doc/tmpl/gnome-vfs-unused.sgml:
Updated for release.

2001-09-10  Maciej Stachowiak  <mjs@noisehavoc.org>

* NEWS: updated again

Merge from HEAD:

2001-09-10  Frank Belew  <frb@ximian.com>

* configure.in: add check for librt for semaphore functions
(fixes undefined references on solaris)

2001-09-10  Maciej Stachowiak  <mjs@noisehavoc.org>

* NEWS: Updated for upcoming 1.0.2 release.

* 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.
* doc/gnome-vfs-sections.txt, doc/tmpl/uri.sgml: Updated for the
name change.

* modules/Makefile.am: Disable ssh module for now at Ian's
request, but distribute it's sources and the nfs module sources.

2001-09-10  Maciej Stachowiak  <mjs@noisehavoc.org>

* configure.in: Move installed headers to allow for parallel
development environments with GNOME 2.0.
* libgnomevfs/Makefile.am: Likewise.

2001-09-08  Maciej Stachowiak  <mjs@noisehavoc.org>

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.

* doc/Makefile.am: Fix doc build so they are only rebuilt when
something actually changes, not every single time. This also fixes
part of `make distcheck'. However, it seems to be a hint that a
scratch srcdir != builddir build out of cvs would not work. :-(

2001-09-03  Maciej Stachowiak  <mjs@noisehavoc.org>

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.

2001-09-04  jacob berkman  <jacob@ximian.com>

* 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-08-27  Abel Cheung  <maddog@linux.org.hk>

* configure.in: Added zh_TW (traditional Chinese) to ALL_LINGUAS.

2001-08-23  Anders Carlsson  <andersca@gnu.org>

* libgnomevfs-pthread/gnome-vfs-pthread.c:
(gnome_vfs_pthread_recursive_mutex_init),
(gnome_vfs_pthread_recursive_mutex_lock),
(gnome_vfs_pthread_recursive_mutex_unlock):
Since pthread_t is an integer type, use 0 instead of NULL.

2001-08-22  Dan Winship  <danw@ximian.com>

* libgnomevfs-pthread/gnome-vfs-pthread.c: Add calls to wrap
recursive mutex initialization/handling for systems that support
them, and to implement them for systems that don't.

* libgnomevfs-pthread/gnome-vfs-async-job-map.c: Use the
recursive mutex utilities from gnome-vfs-pthread.c

* libgnomevfs-pthread/gnome-vfs-thread-pool.c: Likewise.

* modules/http-cache.c: Likewise.

2001-08-06  jacob berkman  <jacob@ximian.com>

* modules/ftp-method.c (do_open_directory): do a CWD before LIST
so that we can generate an error if the uri we are passed is a
file rather than directory

(commit to the right branch this time)

2001-08-06  Frederic Crozat  <fcrozat@mandrakesoft.com>

* 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-01  Jonas Borgstr闣  <jonas@codefactory.se>

* 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-25  Maciej Stachowiak  <mjs@noisehavoc.org>

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-21  Darin Adler  <darin@bentspoon.com>

Created the gnome-vfs-1 branch, since HEAD now requires a
too-new autoconf.

* Makefile.am: Rolled back to GNOME-1-only version, taken
mostly from the 1.0.1 release.
* autogen.sh: Rolled back to GNOME-1-only version, taken
mostly from the 1.0.1 release
* configure.in: Rolled back to GNOME-1-only version, taken
mostly from the 1.0.1 release

* ABOUT-NLS: Removed.
* gnome-vfs-2.0.pc.in: Removed.
* vfscorbaConf.sh.in: Removed.
* vfspthreadConf.sh.in: Removed.

2001-07-18  Martin Baulig  <baulig@suse.de>

* 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 <sys/param.h> before
<glib.h>.

2001-07-17  Chema Celorio  <chema@celorio.com>

* configure.in: add a message that displays the target
GNOME platform, either 1.x or 2.0

2001-07-16  Darin Adler  <darin@bentspoon.com>

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  <darin@bentspoon.com>

* modules/gconf-method.c: Fix const bug in code that was not
being compiled because HAVE_GCONF was off.

2001-07-16  Darin Adler  <darin@bentspoon.com>

* 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  <darin@bentspoon.com>

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  <andersca@codefactory.se>

* libgnomevfs/gnome-vfs-mime-handlers.c (join_str_list): Remove a
duplicate call to g_new.

2001-07-12  Darin Adler  <darin@bentspoon.com>

* .cvsignore: Ignore sgml directory too.

2001-07-12  Laszlo Peter   <laca@ireland.sun.com>

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  <baulig@suse.de>

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  <hp@redhat.com>

* libgnomevfs/gnome-vfs-uri.c (uri_matches_as_parent): handle case
where uri->text is NULL

2001-07-09  Ramiro Estrugo  <ramiro@fateware.com>

* 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  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

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  <darin@bentspoon.com>

* libgnomevfs/gnome-vfs-ssl.c: Added missing <string.h>
include.

2001-07-04  Ramiro Estrugo  <ramiro@fateware.com>

* 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  <snickell@stanford.edu>

* configure.in:

Fix ORBit configuration problem on GNOME1 platform.

* po/ChangeLog:
Long live stupid gettext.

2001-06-26  Darin Adler  <darin@bentspoon.com>

* .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  <sri@aracnet.com>

Rolled changes from HEAD.

* libgnomevfs/gnome-vfs-application-registry.c:
Added gtkdocs for gnome_vfs_application_registry_*

2001-06-20  Peter Williams  <peterw@ximian.com>

* configure.in (autodetected_gnome_2): Fix a syntax error in the test
expression.

2001-06-19  Peter Williams  <peterw@ximian.com>

* gnome-vfs-2.0.pc.in (prefix): Fix totally
broken prefix=/gnome/head/INSTALL. Whoops.

2001-06-15  Havoc Pennington  <hp@redhat.com>

* 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  <baulig@suse.de>

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璯 <carlos@gnome-db.org>

* modules/cdda-method.c: Fixed to compile with Gtk 2.0

2001-06-10  Ian McKellar  <yakk@yakk.net>

* 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 <pretender@rslomkow.org>

* modules/ssl-modules.conf: created this so the build would
work.

2001-06-06  Glynn Foster  <glynn.foster@sun.com>

* 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  <snickell@stanford.edu>

* doc/about.sgml:
* doc/tmpl/gnome-vfs-unused.sgml:

<sheepish look> ... thanks Havoc.

2001-06-03  Maciej Stachowiak  <mjs@eazel.com>

* 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  <mjs@eazel.com>

* 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  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

* configure.in:

Removed cruft directories.

2001-05-31  Ian McKellar  <yakk@yakk.net>

* 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  <rslomkow@rslomkow.org>

* gnome-vfs.spec.in:removed html/*.txt line as it doesn't seem
to get populated.

2001-05-30  Seth Nickell  <snickell@stanford.edu>

* devel-docs/gnome-vfs/tmpl/libgnome-vfs.sgml:

Get a stray file that missed the delet.

2001-05-30  Seth Nickell  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

* 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  <snickell@stanford.edu>

* 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  <jrb@redhat.com>

* doc/gnome-vfs-docs.sgml: fix case problem.

2001-05-27  Seth Nickell  <snickell@stanford.edu>

* 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  <mjs@noisehavoc.org>

reviewed by: Seth Nickell <snickell@stanford.edu>

* modules/http-method.c (parse_status): Handle technically invalid
http replies from ShoutCast and IceCast.

2001-05-25  Seth Nickell  <snickell@stanford.edu>

* 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  <rslomkow@rslomkow.org>

* 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  <chema@celorio.com>

* autogen.sh (PKG_NAME): typo

2001-05-17  Robin * Slomkowski  <rslomkow@rslomkow.org>

* libgnomevfs/gnome-vfs-private.h: removed #include for
gnome-vfs-list-sort.h 

2001-05-17  Robin * Slomkowski  <rslomkow@rslomkow.org>

* 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  <jrb@redhat.com>

* configure.in:
* Makefile.am:
* docs/*/*:
Initial support for gtk-doc documentation.

2001-05-17  Darin Adler  <darin@eazel.com>

* 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 <yakk@yakk.net>

* libgnomevfs/Makefile.am:
Build fix.

2001-05-14  Ian McKellar  <yakk@yakk.net>

* 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  <mfleming@eazel.com>

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  <darin@eazel.com>

* libgnomevfs/gnome-vfs-app-context.c:
(gnome_vfs_app_context_unref): Fix double-free.

2001-05-15  Maciej Stachowiak  <mjs@eazel.com>

* 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  <mikef@praxis.etla.net>

reviewed by: Ian McKellar <yakk@yakk.net>

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  <mjs@eazel.com>

* modules/http-method.c: Cleaned up formatting, minor style
issues; fixed a bug in `do_check_same_fs'.

2001-05-12  Maciej Stachowiak  <mjs@eazel.com>

* devel-docs/gnome-vfs/Makefile.am: Fix build for people who don't
have gtk-doc installed.

2001-05-09  Darin Adler  <darin@eazel.com>

* libgnomevfs-pthread/gnome-vfs-job.h: Added dummy member to
avoid having an empty struct.

2001-05-08  Ian McKellar  <ian@eazel.com>

* 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  <darin@eazel.com>

reviewed by: Ramiro Estrugo <ramiro@eazel.com>

* 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  <darin@eazel.com>

* libgnomevfs/gnome-vfs-mime-info.c: (write_back_mime_user_file):
Remove message that threatens users with death.

2001-05-03  John Sullivan  <sullivan@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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  <ian@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

* modules/pipe-method.c: (do_open):
Only pass known safe characters to popen.

2001-05-02  Ramiro Estrugo  <ramiro@eazel.com>

* 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  <darin@eazel.com>

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  <darin@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

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  <snickell@stanford.edu>

* 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  <jrb@webwynk.net>

* 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  <darin@eazel.com>

* check-mime.pl: Check that the applications file entries are in
alphabetical order.

2001-04-25  Darin Adler  <darin@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <darin@eazel.com>

* 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  <danw@ximian.com>

* 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  <mjs@eazel.com>

* 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  <darin@eazel.com>

* 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  <darin@eazel.com>

* configure.in: Missed Makefile list.

2001-04-13  Darin Adler  <darin@eazel.com>

* 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  <darin@eazel.com>

* 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  <mfleming@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <darin@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <baulig@suse.de>

* gnomevfs-2.0.pc.in: Renamed to gnome-vfs-2.0.pc.in.

2001-03-24  Martin Baulig  <baulig@suse.de>

* modules/file-method.c: Only #include <libgnome/gnome-defs.h>
and <libgnome/gnome-i18n.h> 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 <orb/orbit.h> for GNOME 1.x
and <orbit/orbit.h> for GNOME 2.0.

2001-03-24  Martin Baulig  <baulig@suse.de>

* 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  <baulig@suse.de>

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  <darin@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

* 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  <gzr@eazel.com>

* 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  <gzr@eazel.com>

* modules/Makefile.am:
Another attempt to fix tinderbox.

2001-03-16  Gene Z. Ragan  <gzr@eazel.com>

* 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  <gzr@eazel.com>

* 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  <gzr@eazel.com>

* 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  <gzr@eazel.com>

* modules/cdda-module.conf:
Add new cdda configuration file to build.

2001-03-15  Gene Z. Ragan  <gzr@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

* 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  <pavel@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

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  <mjs@eazel.com>

reviewed by: Robin Slomkowski  <rslomkow@eazel.com>

* 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  <mjs@eazel.com>

* gnome-vfs.spec.in: Add gnome-vfs-config to silence tinderbox.

2001-03-07  Darin Adler  <darin@eazel.com>

* gnome-vfs.spec.in: Remove file-types-capplet too.

2001-03-07  Maciej Stachowiak  <mjs@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>
             Gene Z. Ragan  <gzr@eazel.com>

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  <pavel@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com> (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  <darin@eazel.com>

* configure.in: Updated version number to 1.1.

2001-03-06  Darin Adler  <darin@eazel.com>

Created the gnome-vfs-1-0 branch, for 1.0 development.
HEAD is now for post-1.0.

2001-03-06  Darin Adler  <darin@eazel.com>

Merged all changes back here from the gnome-vfs-1 branch.

=== start of changes from gnome-vfs-1 branch ===

2001-03-04  Dan Winship  <danw@ximian.com>

reviewed by: Maciej Stachowiak <mjs@eazel.com>

* 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  <ramiro@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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 <pavel@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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  <mjs@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

* 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  <eric@eazel.com>

reviewed by: Gregory Leblanc <gleblanc@cu-portland.edu>

* 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  <don@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

* 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  <gzr@eazel.com>

reviewed by: Mike Engber <engber@eazel.com>

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  <rebecka@eazel.com>

reviewed by: Robin Slomkowski <rslomkow@eazel.com>

* 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  <mfleming@eazel.com>

reviewed by: <pavel@eazel.com>

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  <gzr@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

* 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  <andy@eazel.com>

* 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  <eric@eazel.com>

reviewed by: Robin * Slomkowski <rslomkow@eazel.com>

* 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  <darin@eazel.com>

Moved the ChangeLog entries into data/mime/ChangeLog.

2001-02-27  Pavel Cisler  <pavel@eazel.com>

reviewed by: Gene Z. Ragan  <gzr@eazel.com>

* 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  <josh@eazel.com>

* AUTHORS:
s/helixcode/ximian/

2001-02-27  Pavel Cisler  <pavel@eazel.com>

* AUTHORS:
* HACKING:
* NEWS:
Getting these ready for a release.

2001-02-27  Maciej Stachowiak  <mjs@eazel.com>

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  <mjs@eazel.com>

unreviewed change to fix tinderox

* mime-type-capplet/Makefile.am: Add .desktop.in file to
EXTRA_DIST.

2001-02-27  Maciej Stachowiak  <mjs@eazel.com>

reviewed by: Kjartan Maraas  <kmaraas@gnu.org>

* po/POTFILES.in: Remove entries spuriously added by
xml-i18n-prepare

2001-02-26  Rebecca Schulman  <rebecka@eazel.com>

Fixed bugzilla.eazel.com bug 7010, that the
file types capplet should use .desktop.in
xml-i18-tools stuff.

reviewed by: Maciej Stachowiak <mjs@eazel.com>

* 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  <gzr@eazel.com>

reviewed by: Rebecca Schulman <rebecka@eazel.com>

Forgot to add libuuid/Makefile

* configure.in:

2001-02-26  Robin * Slomkowski  <rslomkow@rslomkow.org>

* configure.in: upped version to 0.6.2.0 for development

2001-02-26  Robin * Slomkowski  <rslomkow@rslomkow.org>

* configure.in: upped version to 0.6.2 for release

2001-02-26  Gene Z. Ragan  <gzr@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <darin@eazel.com>

reviewed by: Ramiro Estrugo <ramiro@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Gene Ragan <gzr@eazel.com>

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  <mandreiana@yahoo.com>

* configure.in: Added ro (Romanian) to ALL_LINGUAS.

2001-02-24  Gene Z. Ragan  <gzr@eazel.com>

reviewed by: John Harper <jsh@eazel.com>

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  <pavel@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

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 <pavel@eazel.com>

reviewed by: Gene Ragan <gzr@eazel.com>

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  <don@eazel.com>

reviewed by: Maciej Stachowiak  <mjs@eazel.com>

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  <mfleming@eazel.com>

* modules/default-modules.conf:

Removed nfs from default-modules.conf (see bug 6666)

2001-02-22  John Sullivan  <sullivan@eazel.com>

reviewed by: Gene Ragan <gzr@eazel.com>

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  <gzr@eazel.com>

reviewed by: John Sullivan <sullivan@eazel.com>

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  <pavel@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

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  <snickell@stanford.edu>

reviewed by: Mathieu Lacage <mathieu@gnu.org>

* 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  <seth@eazel.com>

reviewed by: Pavel C疄ler <pavel@eazel.com>

* 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  <mfleming@eazel.com>

reviewed by: <delete if not using a buddy>

* 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  <darin@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <gzr@eazel.com>

reviewed by: John Sullivan<sullivan@eazel.com>

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  <pavel@eazel.com>

reviewed by: Mike Fleming  <mfleming@eazel.com>
     (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  <mfleming@eazel.com>

reviewed by: Pavel Cisler<pavel@eazel.com>

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 <pavel@eazel.com>

reviewed by: Rebecca Schulman <rebecka@eazel.com>

* 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  <darin@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

* 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  <sullivan@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Seth Nickell  <seth@eazel.com>

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  <rebecka@eazel.com>
Fix build issues caused by making gnome-vfs-process.h
private

reviewed by: Darin Adler <darin@eazel.com>

* 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  <mfleming@eazel.com>

reviewed by: <ian@eazel.com>

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  <ian@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

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  <rslomkow@rslomkow.org>

* gnome-vfs.spec.in: changed nautilus-mime-type-capplet
                     to file-types-capplet

2001-02-16  Michael K. Fleming  <mfleming@eazel.com>
 
 reviewed by: <darin@eazel.com>
 
 * 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  <gzr@eazel.com>

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  <don@eazel.com>

reviewed by: Maciej Stachowiak  <mjs@eazel.com>

* 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  <ian@eazel.com>

reviewed by: Eskil Olsen <eskil@eazel.com>

* 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  <gzr@eazel.com>

reviewed by: Mike Enger <engber@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Gene Z. Ragan  <gzr@eazel.com>

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  <gzr@eazel.com>

reviewed by: John Sullivan <sullivan@eazel.com>

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  <rebecka@eazel.com>
Fixed bugzilla.eazel.com 6220, that incorrect
file counts messed up the progress bar during FTP
copies.

reviewed by: Gene Regan <gzr@eazel.com>

* 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  <sullivan@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Gene Ragan <gzr@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

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'slist 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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <ian@eazel.com>

* modules/http-method.c: (do_close):
Added mime-sniffing to PUT to resolve bug 4102.

2001-02-12  Don Melton  <don@eazel.com>

reviewed by: Maciej Stachowiak  <mjs@eazel.com>

* 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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Gene Z. Ragan  <gzr@eazel.com> (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  <gzr@eazel.com>

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  <robey@eazel.com>

* libgnomevfs/gnome-vfs-utils.c: (gnome_vfs_get_volume_free_space):

Fix build bustage (declare 'ret').

2001-02-08  Michael K. Fleming  <mfleming@eazel.com>

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  <ian@eazel.com>

reviewed by: Robey Pointer  <robey@eazel.com>

* 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  <gzr@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <mandreiana@yahoo.com>

* configure.in: Added ro (Romanian) to ALL_LINGUAS.

2001-02-16  Seth Nickell  <snickell@stanford.edu>

* modules/test-method.c: (translate_uri):

Make test-method.c not bite ass on "test://" 

2001-02-13  Dan Winship  <danw@ximian.com>

* libgnomevfs/gnome-vfs-process.c (sigchld_handler): Initialize
found to FALSE.

2001-02-07  Robin * Slomkowski  <rslomkow@eazel.com>

* configure.in: Changed version to 2.0
FIRST COMMIT AFTER BRANCHING gnome-vfs-1

2001-02-06  Pavel Cisler  <pavel@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

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  <gzr@eazel.com>

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  <mjs@eazel.com>

* Makefile.am, .cvsignore: Updated for new xml-i18n-tools.

2001-02-05  Pavel Cisler  <pavel@eazel.com>

reviewed by: Seth Nickell  <seth@eazel.com>

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  <gzr@eazel.com>

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  <rebecka@eazel.com>
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 <mfleming@eazel.com>

* 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  <rebecka@eazel.com>

reviewed by: Maciej Stachowiak <mjs@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

reviewed by: <pavel@eazel.com>

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  <pavel@eazel.com>

reviewed by: <delete if not using a buddy>

* 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 <grossman@securitas.net>

reviewed by: Pavel Cisler  <pavel@eazel.com>

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  <pavel@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

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  <rebecka@eazel.com>
Fix bugs 6241 and 6171, that the default viewer
was wrong for various types of files

reviewed by: Gene Regan <gzr@eazel.com>

* 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  <darin@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

* 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  <ramiro@eazel.com>

reviewed by: Maciej Stachowiak  <mjs@eazel.com>

* 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  <ian@eazel.com>

reviewed by: Eskil Olsen <eskil@eazel.com>

* 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  <mjs@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Gene Z. Ragan <gzr@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

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  <darin@eazel.com>

reviewed by: John Sullivan <sullivan@eazel.com>

* 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  <rebecka@eazel.com>
        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  <mfleming@eazel.com>

reviewed by: <pavel@eazel.com>

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  <mfleming@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Gene Z. Ragan <gzr@eazel.com>

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  <rebecka@eazel.com>
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 <darin@eazel.com>

* 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  <gzr@eazel.com>

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  <rebecka@eazel.com>

* 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  <rebecka@eazel.com>
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  <rslomkow@eazel.com>

* configure.in: upped version to 0.5.0

2001-01-27  Robin * Slomkowski  <rslomkow@eazel.com>

* Makefile.am: added xml-i18n files to EXTRA_DISTS

2001-01-26  Rebecca Schulman  <rebecka@eazel.com>
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 <pavel@eazel.com>

* 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  <seth@eazel.com>

reviewed by: Gene Z. Ragan <gzr@eazel.com>

* modules/efs-method.h:
* modules/file-method.h:
Fix messed up header guards.

2001-01-25  Pavel Cisler  <pavel@eazel.com>

reviewed by: Gene Z. Ragan <gzr@eazel.com>

* 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  <darin@eazel.com>

* test/test-uri.c: (main): Added some tests to
help demonstrate aspects of bug 6022.

2001-01-24  Rebecca Schulman  <rebecka@eazel.com>

* 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  <darin@eazel.com>

* check-mime.pl: Added lots of white space checks.

2001-01-22  Darin Adler  <darin@eazel.com>

* check-mime.pl: Added check for i-regular.

2001-01-22  Rebecca Schulman  <rebecka@eazel.com>

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 <pavel@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

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  <darin@eazel.com>

* check-mime.pl: Update so it works with the new keys.in file.

2001-01-19  Pavel Cisler  <pavel@eazel.com>

reviewed by: Michael Engber <engber@eazel.com>

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  <darin@eazel.com>

reviewed by: John Sullivan  <sullivan@eazel.com>

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  <darin@eazel.com>

reviewed by: John Sullivan  <sullivan@eazel.com>

* .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  <pavel@eazel.com>

reviewed by: Ramiro Estrugo  <ramiro@eazel.com>

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  <kenneth@gnu.org>

* 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  <sullivan@eazel.com>

* 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 <pavel@eazel.com>

* libgnomevfs/gnome-vfs-directory-list.c:
(gnome_vfs_directory_list_new):
Get rid of an unused field.

2001-01-18  Pavel Cisler <pavel@eazel.com>

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  <mfleming@eazel.com>

reviewed by: Ramiro Estrugo  <ramiro@eazel.com>

* 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  <pavel@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

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  <ian@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

* 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  <pavel@eazel.com>

* 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  <seth@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Darin Adler <darin@eazel.com>

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  <mfleming@eazel.com>

reviewed by: <pavel@eazel.com>

* 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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <pavel@eazel.com>

* libgnomevfs-pthread/gnome-vfs-job.h:
Oops, turn off spew that I enabled and checked in by accident.

2001-01-09  Pavel Cisler  <pavel@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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 <aaron@eazel.com>

* 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  <ian@eazel.com>

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  <gzr@eazel.com>

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  <mfleming@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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  <rebecka@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <pavel@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Darin Adler  <darin@eazel.com>

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  <rebecka@eazel.com>

reviewed by: <delete if not using a buddy>

* doc/mime-data-specification.txt:

2000-12-29  Darin Adler  <darin@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <darin@eazel.com>

reviewed by: Maciej Stachowiak <mjs@eazel.com>

* 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  <sullivan@eazel.com>

* modules/http-method.c: (vfs_module_init):
Added a FIXME with bug number for a bug I noticed here.

2000-12-22  John Sullivan  <sullivan@eazel.com>

* 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  <pavel@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

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  <pavel@eazel.com>

reviewed by: Gene Z. Ragan  <gzr@eazel.com>

* 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  <mjs@eazel.com>

reviewed by: Pavel Cisler  <pavel@eazel.com>

* 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  <pavel@eazel.com>

* 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□ler <urc8@rz.uni-karlsruhe.de>

        * 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  <darin@eazel.com>

reviewed by: John Sullivan <sullivan@eazel.com>

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  <andy@eazel.com>

* 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  <sullivan@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

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  <darin@eazel.com>

* 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  <darin@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <sullivan@eazel.com>

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  <sullivan@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

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  <rebecka@eazel.com>

* doc/mime-data-specification.txt:
Added initial draft of the mime data
specification to the documentation directory.

2000-12-11  Mike Fleming  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <darin@eazel.com>

reviewed by: John Sullivan <sullivan@eazel.com>

* 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  <pavel@eazel.com>

* modules/ftp-method.c: (do_read_directory):
Oops. Fix the build.

2000-12-08  Pavel Cisler  <pavel@eazel.com>

reviewed by: Gene Z. Ragan  <gzr@eazel.com>

* 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  <gzr@eazel.com>

* 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  <gzr@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

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  <andy@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <pavel@eazel.com>

reviewed by: <delete if not using a buddy>

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  <mfleming@eazel.com>

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 <pavel@eazel.com>

reviewed by: Gene Ragan <gzr@eazel.com>

* 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  <rebecka@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <darin@eazel.com>

* 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  <rebecka@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <mjs@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <darin@eazel.com>

reviewed by: Mike Fleming <mfleming@eazel.com>

* 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  <pavel@eazel.com>

* test/test-mime.c: (main):
Oops, make it build.

2000-11-29  Rebecca Schulman  <rebecka@eazel.com>

reviewed by: Pavel Cisler <pavel@eazel.com>

* 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  <rebecka@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

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  <mathieu@eazel.com>

reviewed by: <mjs@eazel.com>

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  <mfleming@eazel.com>

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  <matt@bissiri.org>

* 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  <mfleming@eazel.com>

* modules/http-method.c:
oops.  fixed debug macro that didn't have a disabled version

2000-11-19  Mathieu Lacage  <mathieu@eazel.com>

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  <mfleming@eazel.com>

* 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  <mathieu@eazel.com>

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  <gzr@eazel.com>

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  <rebecka@eazel.com>

* modules/ftp-method.c:
Change the formatting of some fixmes so that 
check-fixme will keep track of them 

2000-11-16  Mathieu Lacage  <mathieu@eazel.com>

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  <gzr@eazel.com>

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  <mathieu@eazel.com>

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  <mathieu@eazel.com>

* 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  <pavel@eazel.com>

* test/test-uri.c: (main):
Tweak a test to verify that bug 3401 is fixed. No reviewer, sorry.

2000-11-15  Mathieu Lacage  <mathieu@eazel.com>

* 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  <mathieu@eazel.com>

Buddy: pavel <pavel@eazel.com>

* 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  <mathieu@eazel.com>

Buddy: pavel <pavel@eazel.com>

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  <pavel@eazel.com>

Reviewed by: Mathieu Lacage  <mathieu@eazel.com>

* 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  <mjs@eazel.com>

reviewed by: Rebecca Schulman  <rebecka@eazel.com>

* 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  <rebecka@eazel.com>

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  <darin@eazel.com>

* 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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <baulig@suse.de>

* 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  <kmaraas@gnome.org>

* 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  <mjs@eazel.com>

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  <aliabdin@aucegypt.edu>

        * 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  <darin@eazel.com>

* 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  <gzr@eazel.com>

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  <sullivan@eazel.com>

* 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  <ramiro@eazel.com>

* data/mime/gnome-vfs.applications:
XMMS can open uris.

2000-11-06  Robin * Slomkowski  <rslomkow@eazel.com>

* configure.in: upped development version to 0.4.2.0

2000-11-06  Robin * Slomkowski  <rslomkow@eazel.com>

* configure.in: upped version to 0.4.2

2000-11-06  Robin * Slomkowski  <rslomkow@eazel.com>

* configure.in:  upped version 0.4.1.1
for internal incrimental release

2000-11-06  Darin Adler  <darin@eazel.com>

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  <mjs@eazel.com>

* data/mime/gnome-vfs.applications: Commented out entries for vi
and lynx. This is the fix for 4468.

2000-11-06  Maciej Stachowiak  <mjs@eazel.com>

* 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  <nakai@gnome.gr.jp>

* configure.in: Add sk(Slovak) to ALL_LINGUAS.

2000-11-03  Aaron Brick <aaron@eazel.com>

* gnome-vfs.applications:
adobe acrobat can open multiple files.

2000-11-03  Mike Fleming  <mfleming@eazel.com>

* libgnomevfs/gnome-vfs-uri.c: (set_uri_element):
Do it right this time

2000-11-03  Mike Fleming  <mfleming@eazel.com>

* 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  <rslomkow@eazel.com>

* configure.in: upped development version to 0.4.1.0

2000-11-03  Robin * Slomkowski  <rslomkow@eazel.com>

* configure.in: upped version to 0.4.1 for release

2000-11-03  Darin Adler  <darin@eazel.com>

* modules/http-method.c: (do_get_file_info): Improved comments
in here.

2000-11-03  Maciej Stachowiak  <mjs@eazel.com>

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  <mfleming@eazel.com>

* 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  <andy@eazel.com>

* 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  <rslomkow@eazel.com>

* gnome-vfs.spec.in: updated summary and added
junk fields for vendor and distribution

2000-11-02  Pavel Cisler  <pavel@eazel.com>

* gnome-vfs.spec.in:
Fill out the description fields.

2000-11-02  Robin * Slomkowski  <rslomkow@eazel.com>

* 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 <rslomkow@eazel.com>

configure.in: upped version number for release

2000-11-02  Aaron Brick <aaron@eazel.com>

* 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  <gzr@eazel.com>

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  <andy@eazel.com>

* 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  <darin@eazel.com>

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  <rebecka@eazel.com>

Fixed bug 4121, that the vault will ... <line disconnected>

* 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  <gzr@eazel.com>

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  <aaron@eazel.com>

* 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  <darin@eazel.com>

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  <mathieu@eael.com>

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  <gzr@eazel.com>

* 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  <mathieu@eazel.com>

* configure.in: tweak efs configure.

2000-11-01  Aaron Brick <aaron@eazel.com>

* data/mime/gnome-vfs.keys:
added handling for application/postscript

2000-11-01  Pavel Cisler <pavel@eazel.com>

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  <gzr@eazel.com>

* modules/cdda-method.c: (do_check_same_fs):
Return TRUE always.

2000-10-31  Mathieu Lacage  <mathieu@eazel.com>

* 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  <pavel@eazel.com>

* 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  <gzr@eazel.com>

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  <pavel@eazel.com>

* 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  <gzr@eazel.com>

* 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  <darin@eazel.com>

* 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  <aliabdin@aucegypt.edu>

* 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  <darin@eazel.com>

* gnome-vfs.spec.in: Add vendor.

2000-10-31  Gene Z. Ragan  <gzr@eazel.com>

* 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  <yakk@yakk.com>

* 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  <gzr@eazel.com>

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  <gzr@eazel.com>

* 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  <darin@eazel.com>

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 <string.h>.

2000-10-30  Gene Z. Ragan  <gzr@eazel.com>

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  <danw@helixcode.com>

* 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  <pavel@eazel.com>

* 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  <pavel@eazel.com>

* 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  <eskil@eazel.com>

* gnome-vfs.spec.in:
if $prefix/lib not in /etc/ld.so.conf, add it.

2000-10-28  Pavel Cisler <pavel@eazel.com>

* 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 <pavel@eazel.com>

* 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  <darin@eazel.com>

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  <andy@eazel.com>

* 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  <sullivan@eazel.com>

* test/test-uri.c: (main): Added test case and two
FIXME bugs for test cases with odd results.

2000-10-26  John Sullivan  <sullivan@eazel.com>

* 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  <sullivan@eazel.com>

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  <darin@eazel.com>

* 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  <rebecka@eazel.com>

* 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  <darin@eazel.com>

* 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  <mathieu@eazel.com>

* 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  <darin@eazel.com>

* 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  <darin@eazel.com>

* 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  <sullivan@eazel.com>

* 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  <rebecka@eazel.com>

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  <sullivan@eazel.com>

* modules/ftp-method.c: (do_read_directory):
added FIXME about not following symlinks

2000-10-24  John Sullivan  <sullivan@eazel.com>

* 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  <pavel@eazel.com>

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  <gbowland@gbowland.com>

* 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  <mfleming@eazel.com>

* modules/http-method.c:
Turn off debugging spew, add myself to the "Authors" comment

2000-10-22  Mike Fleming  <mfleming@eazel.com>

* 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  <kmaraas@gnome.org>

* data/mime/gnome-vfs.keys: Started adding Norwegian
translations to this.

2000-10-20  Pavel Cisler  <pavel@eazel.com>

* 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  <pavel@eazel.com>

* 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  <pavel@eazel.com>

* libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new):
Fix a memory trasher Mathieu found.

2000-10-20  Michael Engber  <engber@eazel.com>

* 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  <sullivan@eazel.com>

* 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  <sullivan@eazel.com>

* 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  <sullivan@eazel.com>

* 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 <pavel@eazel.com>

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 <pavel@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <sullivan@eazel.com>

* 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  <pavel@eazel.com>

* 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  <pavel@eazel.com>

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  <darin@eazel.com>

* 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  <pavel@eazel.com>

* 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  <jjranta@cc.joensuu.fi>

* configure.in: added fi to all_linguas

2000-10-16  Ramiro Estrugo  <ramiro@eazel.com>

* 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  <gzr@eazel.com>

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  <gzr@eazel.com>

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  <ramiro@eazel.com>

* modules/file-method.c:
Include <stdio.h> to get the prototype for rename().

2000-10-14  Ian McKellar  <yakk@yakk.net.au>

* 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  <mfleming@eazel.com>

* modules/http-method.c:
Added define from GMan to make it compile under Solaris (hopefully)

2000-10-12  Martin Baulig  <baulig@suse.de>

* 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 <gbowland@tartarus.uwa.edu.au>

* 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  <mfleming@eazel.com>

* modules/http-method.c:
Oops. I left the debug messages on

2000-10-11  Mike Fleming  <mfleming@eazel.com>

* 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  <darin@eazel.com>

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  <mfleming@eazel.com>

* 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  <pavel@eazel.com>

* 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  <glynn.foster@sun.com>

* 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  <rslomkow@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <ramiro@eazel.com>

* 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  <pavel@eazel.com>

* libgnomevfs/gnome-vfs-utils.c:
Move includes around to unbreak the build on Linux.

2000-09-21  Chris Toshok  <toshok@helixcode.com>

* 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  <ramiro@eazel.com>

* acconfig.h:
* configure.in:
Add profiling support via --enable-profiler.

2000-10-03  Mike Fleming  <mfleming@eazel.com>

* 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  <ramiro@eazel.com>

* 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  <christophe@merlet.net>

* data/mime/gnome-vfs.keys: Added french strings.

2000-10-02  Mike Fleming  <mfleming@eazel.com>

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  <mfleming@eazel.com>

* modules/http-method.c: (do_open_directory):
Fix foolish crasher

2000-10-02  Mike Fleming  <mfleming@eazel.com>

* 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  <kmaraas@gnome.org>

* 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  <pavel@eazel.com>

* 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  <darin@eazel.com>

* 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  <eskil@eazel.com>

* 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  <sullivan@eazel.com>

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  <darin@eazel.com>

* 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  <darin@eazel.com>

* 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  <pepper@eazel.com>

* 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  <pepper@eazel.com>

* libgnomevfs/gnome-vfs-directory-filter.c:

Adding <string.h> include so that above file builds right on
newer compilers.

2000-09-29  Darin Adler  <darin@eazel.com>

* 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  <darin@eazel.com>

* 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  <ramiro@eazel.com>

* 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  <mfleming@eazel.com>

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  <pavel@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <mfleming@eazel.com>

* 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  <yakk@yakk.net.au>

* 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  <christophe@merlet.net>

* mime-type-capplet/nautilus-mime-type.desktop: Added the
French strings.

2000-09-27  Mike Fleming  <mfleming@eazel.com>

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

oops

The requested page could not be found. Please use your browsers 'back' button or the above home button to return to the Greenstone Digital Library.length), (set

oops

The requested page could not be found. Please use your browsers 'back' button or the above home button to return to the Greenstone Digital Library.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 <darin@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> 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 <darin@eazel.com> 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 <sullivan@eazel.com> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <mfleming@eazel.com> * modules/translate-method.c: (tr_uri_translate): Removed dead FIXME (bugzilla.eazel.com 2798) 2000-09-23 Mike Fleming <mfleming@eazel.com> * 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 <mfleming@eazel.com> * 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 <darin@eazel.com> * 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 <mfleming@eazel.com> * 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 <andy@eazel.com> * 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 <yakk@yakk.net.au> * modules/http-method.c: (make_propfind_request): Fixed bug 2655: Only request the WebDAV properties we're interested in. 2000-09-21 Andy Hertzfeld <andy@eazel.com> * 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 <mathieu@eazel.com> * 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 <darin@eazel.com> 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 <rebecka@eazel.com> * 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 <pavel@eazel.com> * libgnomevfs/gnome-vfs-xfer.c: (copy_file_data): Properly handle GNOME_VFS_ERROR_EOF. Fixes bugzilla 3225. 2000-09-21 Mike Fleming <mfleming@eazel.com> * 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 <sullivan@eazel.com> * mime-type-capplet/nautilus-mime-type-capplet.c: (mime_list_selected_row_callback): Removed an outdated FIXME. 2000-09-20 Gene Z. Ragan <gzr@eazel.com> 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 <gzr@eazel.com> 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 <darin@eazel.com> * 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 <ctype.h>. * 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 <gzr@eazel.com> Renabled and cleaned up read only volume check. * libgnomevfs/gnome-vfs-xfer.c: (gnome_vfs_xfer_uri_internal): 2000-09-20 Gene Z. Ragan <gzr@eazel.com> 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 <mjs@eazel.com> * modules/file-method.c (do_read): Report EOF on EOF. 2000-09-20 Ian McKellar <yakk@yakk.net.au> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <mathieu@eazel.com> * 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 <mjs@eazel.com> 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 <danw@helixcode.com> * 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 <mathieu@eazel.com> * 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 <mathieu@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> * data/mime/gnome-vfs.keys: Replaced EOG image component with the NautilusImageView 2000-09-15 Darin Adler <darin@eazel.com> * 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 <andy@eazel.com> * 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 <mathieu@eazel.com> * 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 <aliabdin@aucegypt.edu> * 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 <mathieu@eazel.com> 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 <sullivan@eazel.com> 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <seth@eazel.com> * 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 <mathieu@eazel.com> * test/test-uri.c: (main): remove the tests from compilation folowing pavel and Darin advices. 2000-09-11 Mathieu Lacage <mathieu@eazel.com> * 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 <mjs@eazel.com> 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 <mjs@eazel.com> * 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 <kmaraas@gnome.org> * gnome-vfs.spec.in: Fixed installation of man page. 2000-09-09 Gene Z. Ragan <gzr@eazel.com> * 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 <pavel@eazel.com> * 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 <gzr@eazel.com> * 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 <gzr@eazel.com> 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 <mjs@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <danw@helixcode.com> * 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 <yakk@yakk.net.au> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <rslomkow@eazel.com> * 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 <mathieu@eazel.com> * 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 <sullivan@eazel.com> 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 <baulig@suse.de> * 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 <mjs@eazel.com> * 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 <mathieu@eazel.com> 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 <mathieu@eazel.com> * 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 <mathieu@eazel.com> * 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 <mjs@eazel.com> * modules/ftp-method.c: Reformat to match gnome-vfs coding style. 2000-09-03 Maciej Stachowiak <mjs@eazel.com> * 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 <pavel@eazel.com> * 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 <mathieu@eazel.com> * 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 <mathieu@eazel.com> * 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 <mathieu@eazel.com> * 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 <clahey@helixcode.com> * libgnomevfs/gnome-vfs-mime-handlers.h: Removed #ifdef USING_OAF. 2000-09-01 Ian McKellar <yakk@yakk.net.au> * test/.cvsignore: Added new binaries to .cvsignore. 2000-09-01 Ian McKellar <yakk@yakk.net.au> * 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 <pavel@eazel.com> 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 <mjs@eazel.com> * po/Makefile.in.in: removed since gettextize auto-generates it. * configure.in: Turn off libefs more thoroughly. 2000-08-31 Robey Pointer <robey@eazel.com> * 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 <gzr@eazel.com> * 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 <sullivan@eazel.com> 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 <gzr@eazel.com> * Makefile.am: Added capplet to sub-directories to fix tinderbox build. 2000-08-31 Ramiro Estrugo <ramiro@eazel.com> * 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 <baulig@suse.de> * 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 <baulig@suse.de> * 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 <libgnome/*.h> 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 <baulig@suse.de> * 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 <baulig@suse.de> * 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 <sys/types.h> 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 <mathieu@eazel.com> 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 <jirka@5z.com> * libgnomevfs/gnome-vfs-handle.c, libgnomevfs/gnome-vfs-mime-handlers.c, libgnomevfs/gnome-vfs-mime.c: Remove the <gtk/*.h> 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 <darin@eazel.com> * 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 <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * modules/http-method.c: (http_handle_close), (do_read): Fixed bug 2524 - extra debugging output removed. 2000-08-28 Gene Z. Ragan <gzr@eazel.com> * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_new): Pavel here. Refactored a bit making it more beautiful. 2000-08-28 Robin * Slomkowski <rslomkow@eazel.com> * gnome-vfs.spec.in: fixed config file globs 2000-08-28 John Sullivan <sullivan@eazel.com> * data/mime/gnome-vfs.keys: Added application/x-palm-database, reported by a Nautilus user. 2000-08-27 Alastair McKinstry <mckinstry@computer.org> * ga.po: Added Irish translation. 2000-08-25 John Sullivan <sullivan@eazel.com> 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 <rslomkow@eazel.com> * modules/Makefile.am: added efs-method.c efs-method.h forgotten files for make dist 2000-08-25 John Sullivan <sullivan@eazel.com> 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 <dietmar@maurer-it.com> * modules/efs-method.c: minor changes for new libefs code. 2000-08-24 Ali Abdin <aliabdin@aucegypt.edu> * 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 <darin@eazel.com> * 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 <mjs@eazel.com> * modules/Makefile.am: Disable efs module since it doesn't compile any more with the latest changes to libefs. 2000-08-23 Darin Adler <darin@eazel.com> * 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 <darin@eazel.com> * data/mime/gnome-vfs.keys: Added a description for ksh scripts. 2000-08-23 Darin Adler <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> 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 <sullivan@eazel.com> * data/mime/gnome-vfs.keys: Another missing description, for image/x-ico 2000-08-17 John Sullivan <sullivan@eazel.com> 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <aliabdin@aucegypt.edu> * 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 <libgnorba/gnorba.h> to <gtk/gtk.h> 2000-08-11 Ettore Perazzoli <ettore@helixcode.com> * configure.in: Generate `devel-docs' first. 2000-08-11 Dan Winship <danw@helixcode.com> * 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 <aliabdin@aucegypt.edu> * libgnomevfs/gnome-vfs-mime-snif-buffer.h: * libgnomevfs/gnome-vfs-application-registry.h: Remove unneeded #include <libgnome/gnome-defs.h> (libgnome dependency) 2000-08-10 Darin Adler <darin@eazel.com> * 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 <mjs@eazel.com> * 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 <gnome.h>, replaced with <string.h> 2000-08-10 Darin Adler <darin@eazel.com> * 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 <aliabdin@aucegypt.edu> * 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 <string.h> * libgnomevfs-corba.c: #include <popt.h> 2000-08-10 Maciej Stachowiak <mjs@eazel.com> * 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 <jirka@5z.com> * 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 <rslomkow@eazel.com> * gnome-vfs.spec.in: should work again 2000-08-09 Pavel Cisler <pavel@eazel.com> * 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 <aliabdin@aucegypt.edu> * modules/extfs-method.c: * modules/pipe-method.c: Remove gratuitous gnome-libs dependency * modules/pipe-method.c: #include <string.h> 2000-08-09 Ali Abdin <aliabdin@aucegypt.edu> * libgnomevfs-corba/gnome-vfs-slave.c: Remove gratiutous gnome-libs dependency. 2000-08-09 Ali Abdin <aliabdin@aucegypt.edu> * libgnomevfs/gnome-vfs-modules-shared.c, * libgnomevfs/gnome-vfs-mime-magic.c: Remove gratiutous gnome-libs dependency. 2000-08-09 Pavel Cisler <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <jirka@5z.com> * 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 <mjs@eazel.com> * 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 <billh@gnuppy.monkey.org>. 2000-08-08 Maciej Stachowiak <mjs@eazel.com> * 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 <billh@gnuppy.monkey.org>. 2000-08-08 Maciej Stachowiak <mjs@eazel.com> * 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 <billh@gnuppy.monkey.org>. 2000-08-08 Robin * Slomkowski <rslomkow@eazel.com> * mime-type-capplet/Makefile.am: added nautilus-mime-type-icon-entry.h as it was forgotten 2000-08-09 Ian McKellar <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * 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 <sullivan@eazel.com> * 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 <mjs@eazel.com> * 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 <mjs@eazel.com> * 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 <mjs@eazel.com> * test/test-escape.c (main): Fix to match new escaping logic for paths. 2000-08-07 Darin Adler <darin@eazel.com> * 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 <rebecka@eazel.com> * 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 <mjs@eazel.com> * libgnomevfs/gnome-vfs-utils.c: Do not escape `?', `&', or `=' in paths, to avoid messing up http queries. 2000-08-08 Ian McKellar <yakk@yakk.net.au> * 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 <jirka@5z.com> * 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 <string.h> to make it compile on alpha 2000-08-07 Ian McKellar <yakk@yakk.net.au> * modules/http-method.c: (process_propfind_propstat), (do_get_file_info): Fixed a bug that affected Xythos interoperability. 2000-08-06 Ian McKellar <yakk@yakk.net.au> * 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 <mfleming@eazel.com> * 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 <sullivan@eazel.com> * 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 <robey@eazel.com> * 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 <yakk@yakk.net.au> * 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 <darin@eazel.com> * libgnomevfs/gnome-vfs-mime.c: (add_to_key): Added a workaround for a bug in Solaris regcomp. 2000-08-03 Seth Nickell <seth@eazel.com> * 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... <sigh> Adds symbolic link abilities to gnome-vfs-xfer. 2000-08-03 Ramiro Estrugo <ramiro@eazel.com> * 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 <sullivan@eazel.com> * 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 <set EMAIL_ADDRESS environment variable> * 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 <pavel@eazel.com> 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 <gzr@eazel.com> 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 <darin@eazel.com> * 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 <gzr@eazel.com> 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 <darin@eazel.com> * data/mime/gnome-vfs.keys: Added description for "x-special/virtual-directory", which will probably be renamed soon. 2000-08-01 Ian McKellar <yakk@yakk.net.au> * 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 <cactus@cactus.rulez.org> * 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 <gzr@eazel.com> * 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 <gzr@eazel.com> * 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 <seth@eazel.com> * 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 <gzr@eazel.com> * 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 <mfleming@eazel.com> * 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 <danw@helixcode.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> 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 <pavel@eazel.com> * 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 <kabalak@gmx.net> * mime-type-capplet/nautilus-mime-type.desktop: Added the Turkish desktop entries. 2000-07-21 Mathieu Lacage <set EMAIL_ADDRESS environment variable> 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 <aliabdin@aucegypt.edu> * 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 <darin@eazel.com> * 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 <ettore@helixcode.com> * libgnomevfs/Makefile.am (INCLUDES): Add `-I$(top_srcdir)'. Otherwise `#include <libgnomevfs/gnome-vfs-types.h>' doesn't work. 2000-07-19 Kjartan Maraas <kmaraas@gnome.org> * configure.in: Added nl to ALL_LINGUAS. 2000-07-18 Mike Fleming <mfleming@eazel.com> * 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 <mjs@eazel.com> * 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 <mjs@eazel.com> * 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 <mathieu@eazel.com> 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 <seth@eazel.com> * 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 <jrb@redhat.com> * modules/bzip2-method.c: #include <string.h> * libgnomevfs/gnome-vfs-private-ops.c: #include <string.h> * libgnomevfs/gnome-vfs-xfer.c: #include <string.h> * 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 <pavel@eazel.com> * 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 <aliabdin@aucegypt.edu> * 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 <gzr@eazel.com> * 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 <mathieu@eazel.com> * 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 <gzr@eazel.com> 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 <pavel@eazel.com> * 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 <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * libgnomevfs/gnome-vfs-uri.c: (gnome_vfs_uri_to_string): Fixed a bug that added an extra '/'. 2000-07-12 Robin * Slomkowski <rslomkow@eazel.com> * gnome-vfs.spec.in: changed *.so.* to *.so* 2000-07-12 Ramiro Estrugo <ramiro@eazel.com> * modules/gconf-method.c: (vfs_module_init): Update for GConf api changes. 2000-07-11 Robin Slomkowski <rslomkow@eazel.com> * gnome-vfs.spec.in: removed a '.' 2000-07-11 Darin Adler <darin@eazel.com> * 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 <yakk@yakk.net.au> * 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 <michael@helixcode.com> * modules/efs-method.c (do_create): remove serious locking bug. 2000-07-10 Darin Adler <darin@eazel.com> 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 <yakk@yakk.net.au> * 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 <gzr@eazel.com> * 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 <set EMAIL_ADDRESS environment variable> * 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 <rslomkow@eazel.com> * gnome-vfs.spec.in: moved *.so* out of devel section 2000-07-06 Gene Z. Ragan <gzr@eazel.com> * 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 <danw@helixcode.com> * 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 <rslomkow@eazel.com> * mime-type-capplet/Makefile.am: fixed libgdk_pixbuf dependency. 2000-07-05 Dan Winship <danw@helixcode.com> * modules/gconf-method.c: add #ifdef HAVE_ALLOCA_H 2000-07-05 Jeffrey Stedfast <fejj@helixcode.com> * libgnomevfs/gnome-vfs-types.h: Changed '#include <gnome-vfs-file-size.h>' to '#include <libgnomevfs/gnome-vfs-file-size.h>' * libgnomevfs/Makefile.am: Added gnome-vfs-file-size.h to libgnomevfsinclude_HEADERS 2000-07-06 Ian McKellar <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <gzr@eazel.com> 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 <ettore@helixcode.com> * 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 <pavel@eazel.com> * HACKING: * NEWS: * TODO: More tweaks for the release. 2000-07-03 Eskil Heyn Olsen <eskil@eazel.com> * libgnomevfs/Makefile.am: * mime-type-capplet/Makefile.am: Making gnome-vfs rpm'able 2000-07-03 Pavel Cisler <pavel@eazel.com> * 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 <seth@eazel.com> * 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 <michael@helixcode.com> * 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 <yakk@yakk.net.au> * 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 <yakk@yakk.net.au> * 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

oops

The requested page could not be found. Please use your browsers 'back' button or the above home button to return to the Greenstone Digital Library.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 <pavel@eazel.com> 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 <pavel@eazel.com> * 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 <michael@helixcode.com> * 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 <michael@helixcode.com> * mime-type-capplet/Makefile.am (INCLUDES): add libgnomevfs 2000-06-27 Michael Meeks <michael@helixcode.com> * 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 <pavel@eazel.com> * 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 <jirka@5z.com> * 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 <prefix>/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_<type> macros 2000-06-26 Michael Meeks <michael@helixcode.com> * 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 <pavel@eazel.com> * 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 <michael@helixcode.com> * 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 <pavel@eazel.com> * Makefile.am: Fix broken build - recent changes to Makefile.am put libraries in wrong order. 2000-06-25 Pavel Cisler <pavel@eazel.com> * 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 <terra@diku.dk> * 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. (readNo.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 <yakk@yakk.net.au> * 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 <terra@diku.dk> * 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 <michael@helixcode.com> * 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 <michael@helixcode.com> * 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 <michael@helixcode.com> * 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 <pavel@eazel.com> * 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<kabalak@gmx.net> * 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 <darin@eazel.com> * 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 <michael@helixcode.com> * test/test-shell.c (do_info): implement. (main): hook in. 2000-06-23 Michael Meeks <michael@helixcode.com> * 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 <michael@helixcode.com> * configure.in: add --enable-libefs. 2000-06-22 Gene Z. Ragan <gzr@eazel.com> 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 <darin@eazel.com> * 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 <gzr@eazel.com> * 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 <sullivan@eazel.com> 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 <endah@dircon.co.uk> * modules/efs-method.[ch]: Create. 2000-06-22 Michael Meeks <michael@helixcode.com> * test/test-shell.c (get_fname): use regexps. (ms_ole_dump, do_dump): implement. 2000-06-22 Michael Meeks <michael@helixcode.com> * test/Makefile.am: Add test-shell setup * test/test-shell.c: Small lightweight gnome-vfs shell for testing. 2000-06-21 Gene Z. Ragan <gzr@eazel.com> 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 <seth@eazel.com> 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 <seth@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <rebecka@eazel.com> * test/test-async-directory.c: (type_to_string): Fixed constant errors that were uncaught in previous name changes 2000-06-21 Darin Adler <darin@eazel.com> 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <gzr@eazel.com> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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), (readNo.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 <darin@eazel.com> * 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 <gzr@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <sullivan@eazel.com> * 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 <ramiro@eazel.com> * data/mime/gnome-vfs.keys: Make mozilla the default 2000-06-19 Darin Adler <darin@eazel.com> * 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 <darin@eazel.com> * po/POTFILES.in: Removed mime-data.c to fix build. 2000-06-19 Gene Z. Ragan <gzr@eazel.com> * 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 <gzr@eazel.com> 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 <pavel@eazel.com> * data/mime/gnome-vfs.mime: Fix two incorrect mime types. 2000-06-16 Pavel Cisler <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <jirka@5z.com> * 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 <string.h> to fix warnings * modules/gconf-method.c: Include <string.h> and <alloca.h> 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 <darin@eazel.com> * 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 <pavel@eazel.com> * data/mime/gnome-vfs-mime-magic: Add mime magic for shell scripts. 2000-06-15 Pavel Cisler <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <gzr@eazel.com> 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <gzr@eazel.com> * 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 <mjs@eazel.com> 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 <sullivan@eazel.com> * 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 <pavel@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <mjs@eazel.com> * 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 <mjs@eazel.com> 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 <mjs@eazel.com> * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_all_components): Fix broken query. 2000-06-13 Maciej Stachowiak <mjs@eazel.com> * 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 <mjs@eazel.com * libgnomevfs/gnome-vfs-mime-handlers.c (gnome_vfs_mime_get_all_components): Fix syntax error in query. 2000-06-12 John Sullivan <sullivan@eazel.com> * 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 <ramiro@eazel.com> * libgnomevfs/Makefile.am: Make the private header really private by not installing it. 2000-06-12 Eskil Heyn Olsen <eskil@eazel.com> * 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 <sullivan@eazel.com> 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 <namsh@lgic.co.kr> * configure.in (ALL_LINGUAS): added ko 2000-06-08 Maciej Stachowiak <mjs@eazel.com> * 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 <darin@eazel.com> * 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 <mjs@eazel.com> * 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 <darin@eazel.com> 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 <mjs@eazel.com * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_application_free): Free the new "id" field. (gnome_vfs_mime_action_free): Implemented, to fix bugzilla bug 1157. (get_user_level): Fixed bugs 1150 and 1151; made it return "novice" if gconf does not give back some expected value. (OAF_ServerInfo__copy): Adjust copying until the CORBA_frees don't crash nautilus. * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_get_short_list_applications, gnome_vfs_mime_get_short_list_components): Refactored and corrected memory management (should not leak or double-free now). (gnome_vfs_mime_get_all_components, gnome_vfs_mime_get_default_component): Fixed bugzilla.eazel.com 1146. (gnome_vfs_mime_str_list_apply_delta, gnome_vfs_mime_get_value_for_user_level): New helper functions. 2000-06-07 Pavel Cisler <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <pavel@eazel.com> * 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 <ramiro@eazel.com> * 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 <ramiro@eazel.com> * configure.in: Require only "gconf" not "gconf-gtk" 2000-06-06 Maciej Stachowiak <mjs@eazel.com> * 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 <sullivan@eazel.com> * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_remove_component_from_short_list): Fixed an application -> component typo. 2000-06-06 Pavel <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <snickell@stanford.edu> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * libgnomevfs/gnome-vfs-mime-handlers.c: (gnome_vfs_mime_set_default_application): Tiny reformatting. 2000-06-05 John Sullivan <sullivan@eazel.com> 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 <darin@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <pavel@eazel.com> * 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-05Mathieu Lacage <mathieu@gnome.org> * 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 <darin@eazel.com> * 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 <rebecka@eazel.com> * modules/file-method.c Fixed lack of error handling for readlink call in read_link. 2000-06-05 Darin Adler <darin@eazel.com> * 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 <ramiro@eazel.com> * data/mime/gnome-vfs.keys: 2000-06-04 Ian McKellar <yakk@yakk.net> * 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 <sullivan@eazel.com> * 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 <darin@eazel.com> * 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 <gzr@eazel.com> * 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 <sullivan@eazel.com> * 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 <gzr@eazel.com> 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 <gzr@eazel.com> 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 <sullivan@eazel.com> * data/mime/gnome-vfs.keys: * data/mime/gnome-vfs.mime: Added application/x-gnumeric at andersca's suggestion. 2000-06-02 Darin Adler <darin@eazel.com> * 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 <ramiro@eazel.com> * 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 <mjs@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <sullivan@eazel.com> * data/mime/gnome-vfs.keys: Fixed the application short lists for text/plain, text/html, and special/webdav-directory. 2000-06-01 Darin Adler <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <darin@eazel.com> * 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 <mjs@eazel.com> * 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 <darin@eazel.com> 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 <mjs@eazel.com> * 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 <mjs@eazel.com> * 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 <jpr@arcavia.com> * 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 <mjs@eazel.com> * 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 <mjs@eazel.com> * 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 <darin@eazel.com> * 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 <sullivan@eazel.com> * 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 <sullivan@eazel.com> * 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 <sullivan@eazel.com> 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 <gzr@eazel.com> 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 <danw@helixcode.com> * 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 <pablo@mandrakesoft.com> * 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 <ramiro@eazel.com> * Makefile.am: * configure.in: Now hook up the documentation generation up. 2000-05-31 Ramiro Estrugo <ramiro@eazel.com> * 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 <mjs@eazel.com> * 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 <pavel@eazel.com> * 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 <mjs@eazel.com> * 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 <pavel@eazel.com> * 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 <mjs@eazel.com> * 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 <pavel@eazel.com> * 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 <danw@helixcode.com> * 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 <mjs@eazel.com> * 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 <glib.h>, not jsut <glibconfig.h> (glibconfig is really supposed to be an internal header anyway). 2000-05-26 Gene Z. Ragan <gzr@eazel.com> 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 <sullivan@eazel.com> * 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 <mjs@eazel.com> * libgnomevfs/gnome-vfs-mime-handlers.h: Header for upcoming mime handler API. * libgnomevfs/Makefile.am: Install the new header. 2000-05-24 Pavel Cisler <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <ramiro@eazel.com> * 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 <mjs@eazel.com> * libgnomevfs/gnome-vfs-uri.c (get_method_string): Allow digits, `+', `-' and `.' in the uri scheme name. 2000-05-23 Pavel Cisler <pavel@eazel.com> * 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 <ramiro@eazel.com> * configure.in: Removed -lgnomevfs from CAPPLET_LIBS. 2000-05-23 Ramiro Estrugo <ramiro@eazel.com> * 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 <pave@eazel.com> * 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 <pave@eazel.com> * 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 <darin@eazel.com> * 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 <darin@eazel.com> * 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 <mjs@eazel.com> * 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 <rebecka@eazel.com> * 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 <mjs@eazel.com> * data/mime/gnome-vfs-mime-magic: Replaced mime type of "X pixmap image text" to "image/x-xpm". 2000-05-17 Pavel Cisler <pavel@eazel.com> * 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 <sullivan@eazel.com> * data/mime/gnome-vfs.keys: Added application/x-asp 2000-05-16 Gene Z. Ragan <gzr@eazel.com> * libgnomevfs/gnome-vfs-uri.c: Reverted due to accidental check-in during last commit. 2000-05-16 Gene Z. Ragan <gzr@eazel.com> * test/gnome-file-selection/main.c: #include "libgnomevfs/gnome-vfs.h", not "gnome-vfs.h". 2000-05-16 Ettore Perazzoli <ettore@helixcode.com> * 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 <ettore@helixcode.com> * 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 <yakk@yakk.net.au> * modules/newftp-method.c: Fixed warning. 2000-05-16 Ian McKellar <yakk@yakk.net.au> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <danw@helixcode.com> * 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 <pavel@eazel.com> * libgnomevfs/gnome-vfs-gen-mimedb: Removed from CVS. Oops, checked this in by accident. 2000-05-09 Pavel Cisler <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> 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 <darin@eazel.com> 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 <ettore@helixcode.com> * libgnomevfs-corba/Makefile.am: Don't use `GNOME_CFLAGS'. 2000-05-08 Pavel Cisler <pavel@eazel.com> * libgnomevfs/gnome-vfs-xfer.c: (system_time): Fix it to return a correct value. 2000-05-07 Maciej Stachowiak <mjs@eazel.com> * 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 <mjs@eazel.com> * data/mime/gnome-vfs-mime: Fixed some of the broken mime types. 2000-05-07 Pavel Cisler <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <darin@eazel.com> * 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 <darin@eazel.com> 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 <sullivan@eazel.com> * 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 <time.h> 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 <pavel@eazel.com> * 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 <campd@oit.edu> * 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 <michael@helixcode.com> * libgnomevfs/gnome-vfs-file-info.c: s/strcasecmp/g_strcasecmp/ * modules/translate-method.c: s/strcasecmp/g_strcasecmp/, indent. 2000-05-02 John Sullivan <sullivan@eazel.com> * 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 <sullivan@eazel.com> * data/mime/gnome-vfs.keys: Added description for image/svg. 2000-05-02 Dave Camp <campd@oit.edu> * 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 <sullivan@eazel.com> * data/mime/gnome-vfs.mime: Alphabetized the mime types, and removed the duplicate entry for video/x-msvideo (avi) 2000-05-02 John Sullivan <sullivan@eazel.com> 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 <sullivan@eazel.com> 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 <yakk@yakk.net> * 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 <pavel@eazel.com> * 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 <darin@eazel.com> * 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 <darin@eazel.com> * 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 <pavel@eazel.com> * libgnomevfs/gnome-vfs-xfer.c Fix a crash caused by using the wrong call to free a uri_list. 2000-04-26 Pavel Cisler <pavel@eazel.com> 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 <yakk@yakk.net> 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 <darin@eazel.com> 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 <ettore@helixcode.com> * libgnomevfs-corba/Makefile.am: Use `OAF_CFLAGS' too to make sure we get the right `CFLAGS'. 2000-04-20 Pavel Cisler <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <pablo@mandrakesoft.com> * configure.in (ALL_LINGUAS): added Catalan 2000-04-18 Pavel Cisler <pavel@eazel.com> 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 <pavel@eazel.com> * 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 <pavel@eazel.com> 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 <mjs@eazel.com> 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 <libgnorba/gnorba.h> * 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 <pavel@eazel.com> 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 <darin@eazel.com> * 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 <pavel@eazel.com> * 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 <pavel@eazel.com> * 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 <sullivan@eazel.com> * 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 <darin@eazel.com> * libgnomevfs/gnome-vfs-backend.c (gnome_vfs_async_create_uri): Added another missing async. cover routine. 2000-04-06 Pavel Cisler <pavel@eazel.com> * 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 <yakk@yakk.net> * modules/http-method.c: Added code to recognise stupid web servers that return an invalid reply to PROPFIND requests. 2000-04-05 Darin Adler <darin@eazel.com> * 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 <yakk@yakk.net> * 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 <andy@eazel.com> * 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 <yakk@yakk.net> * modules/http-method.c: Fixed WebDAV directory code to remove leading "/" from filenames. 2000-03-29 Darin Adler <darin@eazel.com> * 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 <pavel@eazel.com> * 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 <sullivan@eazel.com> * 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 <sullivan@eazel.com> * 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 <nakai@gnome.gr.jp> * configure.in: Added Japanese translation from Akira Tagoh. 2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com> * configure.in,po/lt.po: Added Lithuanian language file 2000-03-13 Elliot Lee <sopwith@redhat.com> * 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 <yakk@yakk.net> * 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 <pavel@artax.karlin.mff.cuni.cz> * TODO: added pointers to other similar projects 2000-03-09 Jonathan Blandford <jrb@redhat.com> * 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 <yakk@yakk.net> * 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 <yakk@yakk.net> * 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 <ettore@helixcode.com> * 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 <rossigee@bigfoot.com>. 2000-03-03 Maciej Stachowiak <mjs@eazel.com> * 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 <gzr@diskzero.com>. 2000-03-02 Maciej Stachowiak <mjs@eazel.com> * 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 <ettore@helixcode.com> * test/test-directory.c (print_list): Deal with a NULL MIME type. Patch from Marcus Nilsson <marcusn@docs.uu.se>: * 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 <ettore@helixcode.com> * Version 0.1 is released. 2000-02-21 Ettore Perazzoli <ettore@helixcode.com> * 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 <jrb@redhat.com> * 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 <sopwith@redhat.com> * 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 <mathieu@advogato.org> * 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 <mjs@eazel.com> * 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 <jrb@redhat.com> * modules/default-modules.conf (ghelp): add ghelp to the list of known domains. 2000-02-16 Elliot Lee <sopwith@redhat.com> * 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 <sullivan@eazel.com> * libgnomevfs/gnome-vfs-configuration.c: (gnome_vfs_configuration_get_module_path): Just clarified an error message. 2000-02-14 Maciej Stachowiak <mjs@eazel.com> * 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 <sopwith@redhat.com> * 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 <sopwith@redhat.com> * 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 <sopwith@redhat.com> * 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 <darin@eazel.com> * 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 <sopwith@redhat.com> * 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 <sopwith@redhat.com> * modules/pipe-method.[ch]: Implement a stupid one-cent trick pipe method - produces output of a pipe. 2000-01-27 John Sullivan <sullivan@eazel.com> 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 <ettore@helixcode.com> * 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 <sullivan@eazel.com> * 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 <federico@helixcode.com> * 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 <sopwith@redhat.com> * configure.in: We want ORBit, not gnorba. 2000-01-16 John Sullivan <sullivan@eazel.com> 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 <federico@helixcode.com> * libgnomevfs-pthread/Makefile.am: Do not put $(VFS_LIBS) in the library LDADD. 2000-01-14 Darin Adler <darin@eazel.com> * 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 <darin@eazel.com> * 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 <ettore@helixcode.com> * libgnomevfs/gnome-vfs-uri.c (gnome_vfs_uri_get_basename): Do not strdup. 2000-01-06 Darin Adler <darin@eazel.com> * libgnomevfs/gnome-vfs-backend.c: (gnome_vfs_async_open_uri): Implemented this missing routine. 2000-01-04 John Sullivan <sullivan@eazel.com> * 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這czko <kloczek@pld.org.pl> * configure.in, po/pl.po: added Polish translation (based on GNOME PL translation resources). 1999-12-30 Miguel de Icaza <miguel@gnu.org> * libgnomevfs-corba/gnome-vfs-async-ops.c (corba_gnome_vfs_async_cancel): Removed C++ comment. 1999-12-29 Elliot Lee <sopwith@redhat.com> * 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 <jba@pobox.com> * configure.in: (ALL_LINGUAS) Added Galician (gl). 1999-12-28 Martin Norb踄k <d95mback@dtek.chalmers.se> * configure.in: Added sv to ALL_LINGUAS. 1999-12-28 Yuri Syrota <rasta@renome.rovno.ua> * configure.in: Added "uk" to ALL_LINGUAS. 1999-12-27 Matthias Warkus <mawa@iname.com> * configure.in: Added de to ALL_LINGUAS. 1999-12-21 Elliot Lee <sopwith@redhat.com> * 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 <hp@pobox.com> * 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 <mjs@eazel.com> * 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 <ettore@helixcode.com> * 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 <sopwith@redhat.com> * libgnomevfs*/*.c: Fix warnings. * configure.in: Add --with-default-backend=... 1999-12-15 Darin Adler <darin@eazel.com> * 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 <sopwith@redhat.com> * 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 <darin@eazel.com> * 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 <darin@eazel.com> * .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 <sopwith@redhat.com> * 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 <hp@redhat.com> * 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 <ramiro@eazel.com> * modules/extfs/Makefile.am take out non existance extfs.ini from EXTRA_DIST to unbreak 'make dist' 1999-12-07 Havoc Pennington <hp@pobox.com> * 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 <hp@pobox.com> * 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 <hp@pobox.com> * 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 <config.h> 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 <ettore@gnu.org> * 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 <hp@pobox.com> * libgnomevfs/gnome-vfs-messages.c: all my filter predicates were backward 1999-12-02 Havoc Pennington <hp@pobox.com> * 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 <sopwith@redhat.com> * 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 <sopwith@redhat.com> * 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 <kmaraas@online.no> * configure.in: Added "no" to ALL_LINGUAS. 1999-11-18 Ettore Perazzoli <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <sopwith@redhat.com> * 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 <ettore@gnu.org> * 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.h>, "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 <ettore@gnu.org> * 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 <ctype.h>. (gnome_vfs_atotm): New function, from GNU Wget. * libgnomevfs/gnome-vfs-utils.h (gnome_vfs_atotm): Prototype here. 1999-10-21 Ettore Perazzoli <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <config.h>. * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <errno.h>. (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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <config.h>. * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <ettore@gnu.org> * 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 <sys/types.h> first, <sys/socket.h> afterwards as pointed out by Michael. * libgnomevfs-corba/gnome-vfs-slave-notify.c: Likewise. 1999-10-07 Ettore Perazzoli <ettore@gnu.org> * 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 <miguel@gnu.org> * modules/ftp-method.c (linear_read): Close first to comply to RFC959. 1999-10-04 Ettore Perazzoli <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <rodrigo@conectiva.com.br> * configure.in: add pt_BR to ALL_LINGUAS 1999-09-29 Ettore Perazzoli <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <miguel@gnu.org> * 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 <bratsche@dfw.net> * 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 <ettore@comm2000.it> * 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 <campd@oit.edu> * 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 <bratsche@dfw.net> * modules/bzip2-method.c: Removed MAKE_ABSOLUTE(). 1999-09-25 Ettore Perazzoli <ettore@comm2000.it> * 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 <kmaraas@online.no> * configure.in: Added da to ALL_LINGUAS. 1999-09-18 Cody Russell <bratsche@dfw.net> * 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 <ettore@comm2000.it> * 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 <michael@nuclecu.unam.mx> * 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 <ettore@comm2000.it> * libgnomevfs/gnome-vfs-constants.h: #include "gnome-vfs-types.h" and <glibconfig.h>. #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 <glibconfig.h>. 1999-09-16 Ettore Perazzoli <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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_getNo.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_getNo.entries): New function, returning `num_entries'. * libgnomevfs/gnome-vfs-utils.c: #include <string.h>. 1999-09-11 Ettore Perazzoli <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <netdb.h> 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <michael@nuclecu.unam.mx> * 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 <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <campd@oit.edu> * modules/gconf-method.c: Explicitly set the `remove_directory' method to NULL. 1999-09-01 Ettore Perazzoli <ettore@comm2000.it> * 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 <campd@oit.edu> * 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 <campd@oit.edu> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <miguel@gnu.org> * 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 <miguel@gnu.org> * modules/ftp-method.c (ftpfs_dir_unref): New method. 1999-08-29 Miguel de Icaza <miguel@gnu.org> * libgnomevfs/gnome-vfs-types.h: New error types. * libgnomevfs/gnome-vfs-result.c: Return nice results for it. 1999-08-30 Miguel de Icaza <miguel@nuclecu.unam.mx> * 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 <ettore@comm2000.it> * 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 <miguel@nuclecu.unam.mx> * modules/util-url.c, modules/ftp-method.c: New files for the implementation of the FTP backend. 1999-08-26 Miguel de Icaza <miguel@nuclecu.unam.mx> * test/gnome-file-selection/gnome-file-selection.c (setup_directory_clist): Also push the colormap and pop the colormap. 1999-08-27 Ettore Perazzoli <ettore@comm2000.it> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <michael@imaginator.com> * 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 <michael@imaginator.com> * 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 <michael@imaginator.com> * doc/writing-modules.txt: Started. 1999-08-25 Michael Meeks <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * doc/writing-modules.txt: Started. 1999-08-25 Michael Meeks <michael@imaginator.com> * 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 <ettore@comm2000.it> * 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 <michael@imaginator.com> * 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 <ettore@comm2000.it> * configure.in: Add gnomeui libs to `VFSCORBA_LIBS'.